【時(shí)間】2019.09.06
【題目】python實(shí)現(xiàn)客戶端和服務(wù)器端傳輸數(shù)據(jù)
轉(zhuǎn)自:python實(shí)現(xiàn)客戶端和服務(wù)器端傳輸數(shù)據(jù)
?
服務(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)) # 在同一臺(tái)主機(jī)的ip下使用測試ip進(jìn)行通信
# s.bind(('192.168.20.1', 6666)) #在不同主機(jī)或者同一主機(jī)的不同系統(tǒng)下使用實(shí)際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()
客戶端:
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)或不同的主機(jī)下時(shí)使用的ip和端口,首先要查看服務(wù)器所在的系統(tǒng)網(wǎng)卡的ip
s.connect(('127.0.0.1', 6666)) #服務(wù)器和客戶端都在一個(gè)系統(tǒng)下時(shí)使用的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()
【運(yùn)行結(jié)果】:
客戶端:
服務(wù)器端:
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

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