Socket简介:
所谓Socket也称"套接字",用于描述IP和端口,是一个通信链的句柄,应用程序通过"套接字"向网络发出请求或应答网络请求。
Socket起源于Unix,而Unix/Linux的哲学之一就是"一切皆文件"。都可以用"打开open"-->读写write/read-->关闭close模式来操作。Socket就是该模式的一个实现,即Socket就是一个特殊的文件
第一个简单的Socket server端和client端
--------------------------------------------------------------------------
#skServer = socket.socket() skServer = socket.socket(socket.AF_INET,socket.SOCK_STREAM,0) #参数1 地址簇 #socket.AF_INET IPV4(默认) socket.AF_INET6 #参数2 类型 #socket.SOCK_STREAM TCP(默认) #socket.SOCK_DGRAM UDP #参数3 默认 0
Server端改造,支持多个用户连接
#!/usr/bin/env python #_*_ coding:utf-8 _*_ # socket服务端升级版本 Python提供的该模块对原生的Socket作了封装 import SocketServer class MyServer(SocketServer.BaseRequestHandler): def setup(self): pass def handle(self): print(self.request) print(self.client_address) print(self.server) conn = self.request conn.send('server:hello.awei') flag =True while flag: recvData = conn.recv(1024) print(recvData) conn.send('sb') if 'q' == recvData: flag = False conn.close() def finish(self): pass # 不要作变动 只需要在 MyServer类中写具体的应用场景 if __name__ == '__main__': server = SocketServer.ThreadingTCPServer(('127.0.0.1',8080),MyServer) server.serve_forever()