新闻动态

python 服务器开发

发布日期:2019-01-05 16:32 | 文章来源:互联网

连接函数

Python服务器开发三:Socket

socket是操作系统中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处理。

相关文章

实时开通

自选配置、实时开通

免备案

全球线路精选!

全天候客户服务

7x24全年不间断在线

专属顾问服务

1对1客户咨询顾问

在线
客服

在线客服:7*24小时在线

客服
热线

400-630-3752
7*24小时客服服务热线

关注
微信

关注官方微信
顶部