Python兩臺電腦實現(xiàn)TCP通信的方法示例
更新時間:2019年05月06日 11:43:13 作者:AD穩(wěn)穩(wěn)
這篇文章主要介紹了Python兩臺電腦實現(xiàn)TCP通信的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
為了實現(xiàn)Nao機器人與電腦端的TCP通信,于是研究了一下Python實現(xiàn)TCP通信,在網(wǎng)上也看到了很多例子,但大多都是在一臺機器上驗證。在兩臺機器上使用,出了一些小故障。
注意:若兩臺電腦通信出了問題,若能ping通!大部分是防火墻的問題。一開始A做服務器,B做客戶端能實現(xiàn);B做服務器,A做客戶端,A就不能連接到B。我換了一臺電腦A就能實現(xiàn)通信了。應該是A的防火墻需要設置。但是A的防火墻全關了也不能實現(xiàn)。真是很讓人搞不懂。
首先是服務器端代碼:
# -*- encoding: utf-8 -*-
import socket
IP = "192.168.1.153" #服務器端可以寫"localhost",可以為空字符串"",可以為本機IP地址
port = 40005 #端口號
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((IP,port))
s.listen(1)
print('listen at port :',port)
conn,addr = s.accept()
print('connected by',addr)
while True:
data = conn.recv(1024)
data = data.decode()#解碼
if not data:
break
print('recieved message:',data)
send = raw_input('return:')#python27要寫raw_input,python3.X可寫input
conn.sendall(send.encode())#再編碼發(fā)送
conn.close()
s.close()
客戶端代碼:
# -*- encoding: utf-8 -*-
import socket
import sys
IP = '192.168.1.153' #填寫服務器端的IP地址
port = 40005 #端口號必須一致
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
s.connect((IP,port))
except Exception as e:
print('server not find or not open')
sys.exit()
while True:
trigger = raw_input("send:")
s.sendall(trigger.encode())
data = s.recv(1024)
data = data.decode()
print('recieved:',data)
if trigger.lower() == '1':#發(fā)送1結束連接
break
s.close()
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
python庫ggpy安裝使用實例(散點圖創(chuàng)建)
這篇文章主要為大家介紹了python庫ggpy安裝使用實例,如何創(chuàng)建簡單的散點圖及制作帶有趨勢線的散點圖詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2024-01-01
淺析python中while循環(huán)和for循環(huán)
在本篇文章里小編給各位整理的是關于python中while和for循環(huán)知識點詳解,有興趣的朋友們可以學習下。2019-11-11

