服务器端:
# -*- coding: cp936 -*-
import socket, select
s = socket.socket()
host = socket.gethostname() #获取主机名
port = 5000 #指定端口号
s.bind((host, port)) #把端口号和主机名绑定在一起
s.listen(5) #最多监听五个客户端连接
inputs = [s] #把socket保存在列表中
while True :
rs, ws, es = select.select(inputs, [], []) #输入,输出,错误处理
for r in rs :
if r is s :
client, addr = s.accept() #返回一个新的用于传送和接收的socket和地址
print "got connection from ", addr
inputs.append(client) #把返回的新的socket加入到列表中
else :
try :
data = r.recv(1024) #把收到的数据存入到data中
disconnect = not data
except socket.error :
disconnect = True
if disconnect :
print r.getpeername(),"disconnect" #返回连接到服务器的地址
inputs.remove(r)
else :
print data
#客户端 # -*- coding: cp936 -*-
import socket,sys
sys.path.append("c:/Python25/Code")
s = socket.socket()
host = socket.gethostname()
port = 5000
s.connect((host, port))
for line in open("abb.txt") :
values = line.split("^")
for cstr in values :
signal_char = cstr.strip("~")
s.send(signal_char)
本文介绍了一个简单的服务器端和客户端通信代理程序,包括如何使用Python的socket模块实现服务器端监听、接受连接和接收数据,以及客户端通过socket连接到服务器并发送数据的基本流程。重点在于展示了两个部分的代码实现,确保读者能够理解并实践这种通信模式。
1585

被折叠的 条评论
为什么被折叠?



