python网络socket编程

来源:互联网 发布:阿里云开通码 编辑:程序博客网 时间:2024/05/20 06:28

python套接字编程:

服务端:

from socket import *from time import ctimeHOST = ''PORT = 21567BUFSIZ = 1024ADDR = (HOST,PORT)tcpSerSock = socket(AF_INET, SOCK_STREAM)tcpSerSock.bind(ADDR)tcpSerSock.listen(5)while 1:    print 'waiting for connection ..'    tcpCliSock, addr = tcpSerSock.accept()    print '.. connected from :', addr    while 1:        data = tcpCliSock.recv(BUFSIZ)        if not data:            break        tcpCliSock.send('[%s] %s' %(ctime(),data) )        #tcpCliSock.close()tcpSerSock.close()

服务端设定了一个ip,‘’认为是本机,端口号,一个有链接的socket sock_stream,变量名为tcpSerSock

tcpSerSock与对应ip+端口号绑定;tcpSerSock等待链接,支持最大的链接数为5个。

然后就一直接受链接,一旦accept成功,就尝试去接收数据,,如果接受成功,就给链接的客户端返回一个数据(时间+从客户端接收到的数据)

客户端:

from socket import *HOST = 'localhost'PORT=21567BUFSIZ = 1024ADDR = (HOST,PORT)tcpCliSock =  socket(AF_INET, SOCK_STREAM)tcpCliSock.connect(ADDR)while 1:    data = raw_input('>')    if not data:        beak    tcpCliSock.send(data)    data = tcpCliSock.recv(BUFSIZ)    if not data:        break    print datatcpCliSock.close()

创建一个面向链接的socket,链接指定ip和端口的socket服务端。

接受用户的输入并且发送到服务端

接受服务端的数据并且打印出来。

参考:

https://wizardforcel.gitbooks.io/core-python-2e/content/19.html

0 0
原创粉丝点击