Python使用socket模塊實現簡單tcp通信
正文開始:
服務器端代碼:
# 再來簡單的測試,這個是服務器端import socketimport sysBUF_SIZE = 1024ip_port = (r'127.0.0.1', 11552)my_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 先拿到套接字,指定個ipv4以及流式數據包my_socket.bind(ip_port) # 綁定my_socket.listen(2)# 循環等待客戶端連接while True: print('waiting for client..') conn, address = my_socket.accept() print('connect from ..' + str(address)) # 循環接受 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'))
客戶端代碼:
# 這個是客戶端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
運行方法:
一個利用windows的cmd,直接輸入命令:python server.py運行服務器
一個利用pycharm直接運行client.py
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章:
1. 解決Android Studio 格式化 Format代碼快捷鍵問題2. php解決注冊并發問題并提高QPS3. 完美解決vue 中多個echarts圖表自適應的問題4. JavaEE SpringMyBatis是什么? 它和Hibernate的區別及如何配置MyBatis5. Springboot 全局日期格式化處理的實現6. Java使用Tesseract-Ocr識別數字7. SpringBoot+TestNG單元測試的實現8. vue實現web在線聊天功能9. 在Chrome DevTools中調試JavaScript的實現10. Python使用urlretrieve實現直接遠程下載圖片的示例代碼
