原文鏈接: https://segmentfault.com/a/1190000016276635
【時間】2019.09.06
【題目】python實現客戶端和服務器端傳輸數據
轉自:python實現客戶端和服務器端傳輸數據
?
服務器端:
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()
客戶端:
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()
【運行結果】:
客戶端:
服務器端:
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
