Python网络编程:
Python提供了两个级别访问的网络服务: 低级别的网络服务支持基本的Socket, 提供了标准的BSD Socket API,可以访问底层系统socket接口的全部方法 高级别的网络服务模块SocketServer, 提供了服务器中心类,可以简化网络服务器的开发Socket:
套接字,应用程序通常通过套接字想网络发出请求或者网络应答socket()函数: socket.socket([family [,type[,proto]]]) 参数: family:套接字家族可以使AF_UNIX或者AF_INET type:套接字类型可以根据是面向连接的还是非连接的分为:SOCK_STREAM或SOCK_DGRAM protocol:一般不填默认为0Socket对象(内建)方法:
简单实例
服务端
#!/usr/bin/python# -*- coding: UTF-8 -*-# 文件名:server.pyimport socket # 导入 socket 模块s = socket.socket() # 创建 socket 对象host = socket.gethostname() # 获取本地主机名port = 12345 # 设置端口s.bind((host, port)) # 绑定端口s.listen(5) # 等待客户端连接while True: c, addr = s.accept() # 建立客户端连接 #c为socket对象,是当前客户端访问的socket,记录客户端的ip地址和端口信息, #当下一个客户端访问时,会创建另外的一个对应的socket对象 print '连接地址:', addr c.send('欢迎访问菜鸟教程!') c.close() # 关闭连接
客户端
#!/usr/bin/python# -*- coding: UTF-8 -*-# 文件名:client.pyimport socket # 导入 socket 模块s = socket.socket() # 创建 socket 对象host = socket.gethostname() # 获取本地主机名port = 12345 # 设置端口好s.connect((host, port))print s.recv(1024)s.close()