python网络编程SocketServer
来源:互联网 发布:kirinji 日本乐队 知乎 编辑:程序博客网 时间:2024/05/10 18:44
已经用C开发好了一个发送TCP数据包的网络程序,用于向另一个程序传送消费订单,现在需要用python开发一个测试数据,测试传送的数据是否正确。在网络通信里我们一般传送的数据格式是二进制,如“0x12345678”,这个在C语言里定义很简单,就是用结构体定义,而在python里,我们也可以使用struct,从而将二进制数据转换成我们需要的值格式。
以下为该程序的简单示例,该程序会监听8801端口,接收新的客户端连接及数据包,数据的前8个字节是两个int类型数据,unpack出cmd_id,以此来判断消息类型,并unpack出我们需要的各种消息数据。
#!/usr/bin/env pythonimport structfrom socket import *from time import ctimeHOST = ''PORT = 8801ADDR = (HOST, PORT)servSock = socket(AF_INET, SOCK_STREAM)servSock.bind(ADDR)servSock.listen(5)while True: print "waiting for connection..." cliSock, addr = servSock.accept() print "...connected from:", addr while True: data = cliSock.recv(1024) if not data: break msg_len, cmd_id = struct.unpack_from('!2i', data, 0) print msg_len, cmd_id if(cmd_id == 304): roomno, sequence, type, name_ch, code, count, price, total = struct.unpack_from('!16sQ50s50s16sQ6s6s', data, 8) print "order:", roomno, sequence, type.decode('gb2312'), name_ch.decode('gb2312'), code, count, price, total bytes = struct.pack('!2i', 32769, 8) cliSock.send(bytes) cliSock.close()servSock.close()
0 0
- python网络编程SocketServer
- python网络编程socketserver
- Python 网络编程 SocketServer
- Python网络编程03----Python3.*中socketserver
- python 网络编程之socketserver模块
- python SocketServer 框架编程
- python网络编程之TCP通信实例和socketserver框架
- python网络编程之TCP通信实例和socketserver框架使用例子
- python网络编程之TCP通信实例和socketserver框架使用例子
- Java网络编程之Socket与SocketServer
- python Socket编程(二)----SocketServer
- python socket编程(二)--SocketServer模块
- Python socket模块编程 SocketServer框架
- python socket编程(2)-SocketServer 模块
- Python基础篇之Socket编程 SocketServer
- Python socket编程(阻塞) --基于SocketServer
- python socketserver
- Python SocketServer
- Android核心基础(手机卫士的一个知识点总结)
- 理解Hibernate主键类型
- 常用排序算法之插入排序c及lua实现
- .net中对象转json(2)
- 编译Android版本的Boost库
- python网络编程SocketServer
- 为什么使用模板
- 【POJ】3180 The Cow Prom 强连通
- 一道java面试题-方法静态分派
- 关于自助,自救
- 几个非常好的opencv教程【持续更新】
- 嵌入式Linux之我行——S3C2440上LCD驱动(FrameBuffer)实例开发讲解
- 出局者归国亦英雄 J罗与队友享受球迷追捧
- 三年目标