服务器端:
# -*- 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)