Python TCP通信客户端服务端代码实例
更新时间:2019年11月21日 17:12:13 作者:一0贰Ⅳ
这篇文章主要介绍了Python TCP通信客户端服务端代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
这篇文章主要介绍了Python TCP通信客户端服务端代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
TCP客户端:
import argparse, socket,sys import time # socket.setdefaulttimeout(20) def recvall(sock, length): data = b'' while len(data) < length: more = sock.recv(length - len(data)) if not more: raise EOFError('总共有%dbytes,但只收到了%dbytes' % (length, len(data))) data += more return data if __name__ == '__main__': sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect(('192.168.137.1', 10000)) print('客户的分配了socket:', sock.getsockname()) i=0 for x in range(4): # try: text = '我是客户端你是服务器嚯嚯嚯!'.encode('utf-8') i=i+len(text) sock.sendall(text) sys.stdout.flush() print("已发送:",i) # except ConnectionResetError: # pass sock.shutdown(socket.SHUT_WR) num = 0 while True: reply = sock.recv(48) # b'Farewell, client'的长度 num += len(reply) print('接收:',num) if not reply: print("ok") break # print('服务器返回:', reply.decode('utf-8')) print("理论上应该关闭sock") sock.close() time.sleep(1)
TCP服务端:
import argparse, socket,sys def recvall(sock, length): data = b'' while len(data) < length: more = sock.recv(length - len(data)) if not more: raise EOFError('总共有%dbytes,但只收到了%dbytes' % (length, len(data))) data += more return data if __name__ == '__main__': sc = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sc.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) sc.bind(('', 10000)) sc.listen() print('正在侦听{}...'.format(sc.getsockname())) num = 0 while True: scc, address = sc.accept() print('连接来自:', address) print('socket名字:', scc.getsockname()) print('socket peer:', scc.getpeername()) while True: message = scc.recv(42)#recvall(scc, 24) # 尝试 12,,20,28会是什么结果 if not message: break # print('收到16-octet消息:', repr(message)) print('收到16-octet消息:', (message.decode('utf-8'))) scc.sendall(message) sys.stdout.flush() num += len(message) print("已发送:",num) scc.close() print('应答发送,socket关闭') sc.close()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
python类别数据数字化LabelEncoder VS OneHotEncoder区别
这篇文章主要为大家介绍了机器学习:数据预处理之将类别数据数字化的方法LabelEncoder VS OneHotEncoder区别详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-09-09Python基于QRCode实现生成二维码的方法【下载,安装,调用等】
这篇文章主要介绍了Python基于QRCode实现生成二维码的方法,结合实例形式较为详细的分析了Python下载,安装与调用QRCode实现生成二维码功能的具体步骤与相关操作技巧,需要的朋友可以参考下2017-07-07Python统计python文件中代码,注释及空白对应的行数示例【测试可用】
这篇文章主要介绍了Python统计python文件中代码,注释及空白对应的行数,涉及Python针对py文件的读取、遍历、判断、统计等相关操作技巧,需要的朋友可以参考下2018-07-07
最新评论