读书人

来显流服务器

发布时间: 2012-10-25 10:58:57 作者: rapoo

回显流服务器

TCP:

服务器:

# _*_ coding: utf-8 _*_import socketsrvsock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)srvsock.bind(('', 23000))srvsock.listen(5)while 1: # 循环处理各个客户机连接    # 调用accept方法并阻塞(即并不会返回),直到有新客户机连接到它为止,此时会返回新的客户机socket,以及远程客户机的地址信息。    clisock, (remhost, remport) = srvsock.accept()     str = clisock.recv(100) # 从socket接收数据,最多buflen个字符    clisock.send(str)    clisock.close()

客户端:

# _*_ coding: utf-8 _*_import socketclisock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)clisock.connect(('', 23000))clisock.send("Hello World\n")print clisock.recv(100)clisock.close()

?

UDP(无连接的):

服务器:

# 数据报(无连接的)import socketdgramSock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)dgramSock.bind(('', 23000))while 1: # 循环处理各个客户机连接    msg, (addr, port) = dgramSock.recvfrom(100)    dgramSock.sendto(msg, (addr, port)) #将消息发到指定的地址
?

客户端:

# 数据报客户机import socketdgramSock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)dgramSock.sendto("Hello World\n", ('', 23000))print dgramSock.recv(100)dgramSock.close()
?

?

?

?

?

?

读书人网 >编程

热点推荐