日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

python服務(wù)器與android客戶端socket通信實(shí)例

系統(tǒng) 2239 0

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

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

復(fù)制代碼 代碼如下:
#server.py?
import socket?
def getipaddrs(hostname):#只是為了顯示IP,僅僅測(cè)試一下?
??? result = socket.getaddrinfo(hostname, None, 0, 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ù)原封不動(dòng)的發(fā)送回去?
??? print('Received', repr(data))?
??? conn.close()

下面是Android代碼:

復(fù)制代碼 代碼如下:
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ù)器的地址要寫對(duì),而且要保證服務(wù)器是可以被你的網(wǎng)段訪問的。

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


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 顺昌县| 平度市| 尼木县| 翁源县| 高唐县| 文登市| 额敏县| 格尔木市| 湘潭县| 新宾| 淮南市| 华阴市| 会东县| 嵊泗县| 石景山区| 宜州市| 奉贤区| 天柱县| 古田县| 泸州市| 龙州县| 屏边| 绥棱县| 海口市| 萍乡市| 彭泽县| 晋城| 东至县| 江西省| 大洼县| 苏州市| 五大连池市| 汤阴县| 福州市| 太保市| 乌拉特前旗| 迁安市| 阿拉尔市| 茌平县| 马尔康县| 凉城县|