日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python安卓开发实例_python服务器与android客户端socket通信实例

發(fā)布時間:2025/3/12 python 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python安卓开发实例_python服务器与android客户端socket通信实例 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本文實例講述了python服務(wù)器與android客戶端socket通信的方法。分享給大家供大家參考。具體實現(xiàn)方法如下:

首先,服務(wù)器端使用python完成,下面為python代碼:

#server.py

import socket

def getipaddrs(hostname):#只是為了顯示IP,僅僅測試一下

result = socket.getaddrinfo(hostname,None,socket.SOCK_STREAM)

return [x[4][0] for x in result]

host = ''#為空代表為本地host

hostname = socket.gethostname()

hostip = getipaddrs(hostname)

print('host ip',hostip)#應(yīng)該顯示為:127.0.1.1

port = 9999 # Arbitrary non-privileged port

s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

s.bind((host,port))

s.listen(4)

while True:

conn,addr = s.accept()

print('Connected by',addr)

data = conn.recv(1024)

if not data: break

conn.sendall(data)#把接收到數(shù)據(jù)原封不動的發(fā)送回去

print('Received',repr(data))

conn.close()

下面是Android代碼:

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;

import java.net.Socket;

import java.net.UnknownHostException;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.util.Log;

public class TcpClient extends Activity {

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

runTcpClient();

finish();

}

private static final int TCP_SERVER_PORT = 9999;//should be same to the server port

private void runTcpClient() {

try {

Socket s = new Socket("**.**.intel.com",TCP_SERVER_PORT);//注意host改成你服務(wù)器的hostname或IP地址

BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream()));

BufferedWriter out = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));

//send output msg

String outMsg = "TCP connecting to " + TCP_SERVER_PORT + System.getProperty("line.separator");

out.write(outMsg);//發(fā)送數(shù)據(jù)

out.flush();

Log.i("TcpClient","sent: " + outMsg);

//accept server response

String inMsg = in.readLine() + System.getProperty("line.separator");//得到服務(wù)器返回的數(shù)據(jù)

Log.i("TcpClient","received: " + inMsg);

//close connection

s.close();

} catch (UnknownHostException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

//replace runTcpClient() at onCreate with this method if you want to run tcp client as a service

private void runTcpClientAsService() {

Intent lIntent = new Intent(this.getApplicationContext(),TcpClientService.class);

this.startService(lIntent);

}

}

安卓代碼中要注意的就是服務(wù)器的地址要寫對,而且要保證服務(wù)器是可以被你的網(wǎng)段訪問的。

希望本文所述對大家的Python程序設(shè)計有所幫助。

總結(jié)

以上是生活随笔為你收集整理的python安卓开发实例_python服务器与android客户端socket通信实例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。