摘要:建立兩個文件,一個是,存放客戶端程序,一個是,存放服務器端程序,首先運行服務器端程序,待連接成功后再運行客戶端程序,輸入要傳輸的數據,在服務器終端看到傳輸過來的數據即為傳輸成功。
"""
Fuction:python實現客戶端和服務器端傳輸數據
Date:2018.9.4
Author:SnowKing
"""
def sock_client_data(): while True: try: s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect(("192.168.20.1", 6666)) #服務器和客戶端在不同的系統或不同的主機下時使用的ip和端口,首先要查看服務器所在的系統網卡的ip # s.connect(("127.0.0.1", 6666)) #服務器和客戶端都在一個系統下時使用的ip和端口 except socket.error as msg: print(msg) print(sys.exit(1)) data = input("input data:") #輸入要傳輸的數據 s.send(data.encode()) #將要傳輸的數據編碼發送,如果是字符數據就必須要編碼發送 s.close() if __name__ == "__main__": sock_client_data()
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)) #在不同主機或者同一主機的不同系統下使用實際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) #接收數據 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()
運行結果:
客戶端:
服務器端:
說明:
1、服務器和客戶端同在一個物理主機的同一系統下使用127.0.0.1,端口自己設置,只要不被占用即可,linux系統下查看端口是否被占用命令sudo netstat -nap | grep 6666 如果查不到端口則證明端口未被占用。建立兩個.py文件,一個是sender.py,存放客戶端程序,一個是recieve.py,存放服務器端程序,首先運行服務器端程序,待連接成功后再運行客戶端程序,輸入要傳輸的數據,在服務器終端看到傳輸過來的數據即為傳輸成功。
2、服務器和客戶端在同一個物理主機的不同系統下,則使用服務器系統實際的ip地址,作者將windows作為客戶端,linux作為服務器端,在linux終端輸入 ifconfig查看ip,兩個程序使用相同的ip和端口,將兩個程序部署到各自的系統下,首先運行服務器端程序,再運行客戶端程序,發送數據,待服務器端數據接收成功為止。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/42362.html
摘要:剛開始在參考網上的代碼時出現了各種錯誤,其中在調試時一直出現接收到的圖片數據丟失,打不開圖片,弄懂的壓縮格式之后,發現是因為參數設置的問題,原來是,其中是長整型,超出范圍的話接收到的圖片數據就丟失,故改為之后范圍變大,能夠正常接收圖片。 問題:以windows作為客戶端,linux作為服務器端,進行傳輸圖片 程序: Fuction:客戶端發送圖片和數據 Date:2018.9.8 ...
閱讀 2671·2023-04-25 18:10
閱讀 1606·2019-08-30 15:53
閱讀 2788·2019-08-30 13:10
閱讀 3216·2019-08-29 18:40
閱讀 1128·2019-08-23 18:31
閱讀 1201·2019-08-23 16:49
閱讀 3400·2019-08-23 16:07
閱讀 877·2019-08-23 15:27