最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

python如何實現(xiàn)客戶端和服務(wù)器端的數(shù)據(jù)傳輸(代碼)

來源:懂視網(wǎng) 責編:小采 時間:2020-11-27 14:11:49
文檔

python如何實現(xiàn)客戶端和服務(wù)器端的數(shù)據(jù)傳輸(代碼)

python如何實現(xiàn)客戶端和服務(wù)器端的數(shù)據(jù)傳輸(代碼):本篇文章給大家?guī)淼膬?nèi)容是關(guān)于python如何實現(xiàn)客戶端和服務(wù)器端的數(shù)據(jù)傳輸,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助??蛻舳薲ef sock_client_data(): while True: try: s = socket.socket(socket.AF_INET
推薦度:
導讀python如何實現(xiàn)客戶端和服務(wù)器端的數(shù)據(jù)傳輸(代碼):本篇文章給大家?guī)淼膬?nèi)容是關(guān)于python如何實現(xiàn)客戶端和服務(wù)器端的數(shù)據(jù)傳輸,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助??蛻舳薲ef sock_client_data(): while True: try: s = socket.socket(socket.AF_INET
本篇文章給大家?guī)淼膬?nèi)容是關(guān)于python如何實現(xiàn)客戶端和服務(wù)器端的數(shù)據(jù)傳輸,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

客戶端

def sock_client_data():
 while True:
 try:
 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 s.connect(('192.168.20.1', 6666)) #服務(wù)器和客戶端在不同的系統(tǒng)或不同的主機下時使用的ip和端口,首先要查看服務(wù)器所在的系統(tǒng)網(wǎng)卡的ip
 # s.connect(('127.0.0.1', 6666)) #服務(wù)器和客戶端都在一個系統(tǒng)下時使用的ip和端口
 except socket.error as msg:
 print(msg)
 print(sys.exit(1))
 data = input("input data:") #輸入要傳輸?shù)臄?shù)據(jù)
 s.send(data.encode()) #將要傳輸?shù)臄?shù)據(jù)編碼發(fā)送,如果是字符數(shù)據(jù)就必須要編碼發(fā)送
 s.close()
if __name__ == '__main__':
 sock_client_data()

服務(wù)器端

def socket_service_data():
 try:
 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
 s.bind(('127.0.0.1', 6666)) # 在同一臺主機的ip下使用測試ip進行通信
 # s.bind(('192.168.20.1', 6666)) #在不同主機或者同一主機的不同系統(tǒng)下使用實際ip
 s.listen(10)
 except socket.error as msg:
 print(msg)
 sys.exit(1)

 print("Wait for Connection..................")

 while True:
 sock, addr = s.accept()
 buf = sock.recv(1024) #接收數(shù)據(jù)
 buf = buf.decode() #解碼
 print("The data from " + str(addr[0]) + " is " + str(buf))
 print("Successfully")
 # return buf
 # sock.close()
if __name__ == '__main__':
 socket_service_data()

運行結(jié)果:

客戶端:

1337207291-5b8f532ce7da1_articlex.png

服務(wù)器端:

2089742058-5b8f534652001_articlex.png

說明:
1、服務(wù)器和客戶端同在一個物理主機的同一系統(tǒng)下使用127.0.0.1,端口自己設(shè)置,只要不被占用即可,linux系統(tǒng)下查看端口是否被占用命令sudo netstat -nap | grep 6666 如果查不到端口則證明端口未被占用。建立兩個.py文件,一個是sender.py,存放客戶端程序,一個是recieve.py,存放服務(wù)器端程序,首先運行服務(wù)器端程序,待連接成功后再運行客戶端程序,輸入要傳輸?shù)臄?shù)據(jù),在服務(wù)器終端看到傳輸過來的數(shù)據(jù)即為傳輸成功。
2、服務(wù)器和客戶端在同一個物理主機的不同系統(tǒng)下,則使用服務(wù)器系統(tǒng)實際的ip地址,作者將windows作為客戶端,linux作為服務(wù)器端,在linux終端輸入 ifconfig查看ip,兩個程序使用相同的ip和端口,將兩個程序部署到各自的系統(tǒng)下,首先運行服務(wù)器端程序,再運行客戶端程序,發(fā)送數(shù)據(jù),待服務(wù)器端數(shù)據(jù)接收成功為止。

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

python如何實現(xiàn)客戶端和服務(wù)器端的數(shù)據(jù)傳輸(代碼)

python如何實現(xiàn)客戶端和服務(wù)器端的數(shù)據(jù)傳輸(代碼):本篇文章給大家?guī)淼膬?nèi)容是關(guān)于python如何實現(xiàn)客戶端和服務(wù)器端的數(shù)據(jù)傳輸,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。客戶端def sock_client_data(): while True: try: s = socket.socket(socket.AF_INET
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top