Python使用socket模塊實(shí)現(xiàn)簡(jiǎn)單tcp通信
正文開始:
服務(wù)器端代碼:
# 再來(lái)簡(jiǎn)單的測(cè)試,這個(gè)是服務(wù)器端import socketimport sysBUF_SIZE = 1024ip_port = (r'127.0.0.1', 11552)my_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 先拿到套接字,指定個(gè)ipv4以及流式數(shù)據(jù)包my_socket.bind(ip_port) # 綁定my_socket.listen(2)# 循環(huán)等待客戶端連接while True: print('waiting for client..') conn, address = my_socket.accept() print('connect from ..' + str(address)) # 循環(huán)接受 while True: ret = conn.recv(BUF_SIZE) print('server receive data:' + str(ret)) if 'END' in str(ret): print('clent’s gonna be offline.') conn.send(bytes('BYE', encoding='utf-8')) my_socket.close() sys.exit() else: conn.send(bytes('server copy', encoding='utf-8'))
客戶端代碼:
# 這個(gè)是客戶端import socketBUF_SIZE = 1024ip_port = (r'127.0.0.1', 11552)my_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)my_socket.connect(ip_port)while True: data = input('>>>') my_socket.send(bytes(data, encoding='utf-8')) recieve_data = my_socket.recv(BUF_SIZE) print('client receive data = ' + str(recieve_data)) if 'BYE' in str(recieve_data): print('server disconnect!') break
運(yùn)行方法:
一個(gè)利用windows的cmd,直接輸入命令:python server.py運(yùn)行服務(wù)器
一個(gè)利用pycharm直接運(yùn)行client.py
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Java 3D的動(dòng)畫展示(Part1-使用JMF)2. 解決docker與vmware的沖突問(wèn)題3. IntelliJ IDEA設(shè)置自動(dòng)提示功能快捷鍵的方法4. Django中的AutoField字段使用5. IntelliJ Idea 2020.1 正式發(fā)布,官方支持中文(必看)6. Python基于jieba, wordcloud庫(kù)生成中文詞云7. asp.net core應(yīng)用docke部署到centos7的全過(guò)程8. 在vue中配置不同的代理同時(shí)訪問(wèn)不同的后臺(tái)操作9. 簡(jiǎn)體中文轉(zhuǎn)換為繁體中文的PHP函數(shù)10. Vue 構(gòu)造選項(xiàng) - 進(jìn)階使用說(shuō)明
