python 服务器开发
发布日期:2019-01-05 16:32 | 文章来源:互联网
连接函数
Python服务器开发三:Socketsocket是操作系统中I/O的延续,它可以使进程和机器之间的通信成为可能。socket可以看成一个标准的文件描述符。不同的是文件需要用open函数打开,而socket用socket
函数建立.recv、send函数和read、write函数极为相似。
TCP一般通过accept来为每个连接的客户端建立一个新的scoket。UDP一般只是使用一个单一的socket,完全依靠recvfrom返回的值来判断该往哪里发送响应。
客户端:
1、建立一个socket:
//SOCK_STREAM表示TCP,SOCK_DGRAM表示UDP,AF_INET表示IPv4
s=socket.socket
2、连接socket
连接socket需要一个tuple参数,来提供IP和端口号:
s.connect)
3、
#!/usr/bin/envpythonimportsocketprint"Creatingsocket...",s=socket.socketprint"done."print"Lookingupportnumber...",port=socket.getservbynameprint"done."print"Connectingtoremotehostonport%d..."%port,s.connect)print"done."#获取本身的IP和端口号print"Connectedfrom",s.getsockname#获取远程的IP和端口号print"Connectedto",s.getpeername
文件类对象:
importsocket,sysport=70host=sys.argv1filename=sys.argv2s=socket.sockets.connect)fd=s.makefilefd.writeforlineinfd.readlines:sys.stdout.write
高级接口:
importurllib,sysf=urllib.urlopenwhile1:buf=f.readifnotlen:breaksys.stdout.write
服务器端:
1、建立一个连接:
s=socket.socket
2、设置socket选项:
//socket端口可立即复用s.setsockopt
3、绑定socket:
s.bind)
4、监听:
s.listen
5、接受连接:
s=socket.socket0
6、
s=socket.socket1
使用UDP:
#!/usr/bin/envpythonimportsocket,tracebackhost=''#Bindtoallinterfacesport=51423s=socket.sockets.setsockopts.bind)while1:try:message,address=s.recvfromprint"Gotdatafrom",address#Echoitbacks.sendtoexcept:raiseexcept:traceback.print_exc
Tags:连接函数,python 服务器开发
版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。
相关文章