Python网络编程
TCP编程代码示例
单线程Echo服务
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
from socket import * # @UnusedWildImport DEFAULT_PORT = 1918 if __name__ == '__main__': # 创建基于IPv4的TCP套接字对象 s = socket( AF_INET, SOCK_STREAM ) # 绑定到通配符地址的1918端口 s.bind( ( '0.0.0.0', DEFAULT_PORT ) ) logging.debug( 'Echo server is listening on port %d', DEFAULT_PORT ) # 开始监听,最大排队数量(backlog)为10 s.listen( 10 ) while True: # 接受一个客户端连接请求,返回套接字对象和地址的元组 client, addr = s.accept() logging.debug( '%s connected', addr ) msg = client.recv( 1024 ) logging.debug( 'Received message : %s', msg ) client.send( msg ) client.close() |
以下是客户端代码:
1 2 3 4 5 6 7 8 9 10 |
from socket import * # @UnusedWildImport DEFAULT_PORT = 1918 if __name__ == '__main__': # 创建基于IPv4的TCP套接字对象 s = socket( AF_INET, SOCK_STREAM ) # 连接到服务器端 s.connect( ( '127.0.0.1', DEFAULT_PORT ) ) s.send( 'Hello Server!' ) logging.debug( 'Echo from server: %s', s.recv( 1024 ) ) |
基于asyncore模块的异步Echo服务
asyncore模块将网络活动抽象为事件,由事件循环分派出去进行异步处理。事件循环通过select()或者poll()系统调用构建。
阅读全文
13 years ago
0
Python学习笔记
安装与配置
安装Python
- Windows:可以使用WinPython,这是一个免安装、开箱即用的Python发布版,包含很多预置工具
- Linux:通常已经随操作系统安装
环境变量设置
环境变量 | 说明 |
PYTHON_HOME | Python安装目录 |
PATH | 添加 %PYTHON_HOME%;%PYTHON_HOME%\Scripts |
PYTHONPATH |
Python的模块搜索路径,在前面出现的优先级高 仅在Windows下你可… |
13 years ago
0