client
import socket
soc = socket.socket()
soc.connect(("localhost",8888))
while True:
soc.send(input("请输入>>>").encode("utf-8"))
data = soc.recv(1024)
print("服务器说>>>",data)
if data==b"byebye":
break
soc.close()
server
import socket,multiprocessing
def run(conn):
while True:
data = conn.recv(1024)
if data == b"":
print("客户端已经断开连接")
break
print("说:",data)
i = input("输入>>>")
conn.send(i.encode("utf-8"))
conn.close()
def init(q):
soc = socket.socket()
soc.bind(("",8888))
soc.listen()
q.put(soc)
def getconn(q):
while True:
print("等待连接...")
conn, addr = q.get().accept()
print("连接成功!")
multiprocessing.Process(target=run,).start()
if __name__=="__main__":
q = multiprocessing.Queue(maxsize=3)
p = multiprocessing.Process(target=init, args=(q,))
p.start()
p.join()
p1 = multiprocessing.Process(target=getconn, args=(q,))
p1.start()
多个客户端向服务器端传输数据
client
import socket
client = socket.socket()
client.connect(("localhost",6666))
while True:
s = input("请输入>>")
c = len(s)//3
client.send(s[:c].encode("utf-8"))
client.send(s[c:c*2].encode("utf-8"))
client.send(s[c*2:].encode("utf-8"))
data = client.recv(100)
print("服务端说:",data)
if data==b"byebye":
break
client.close()
server
'''
一次会话
'''
import socket,time
soc = socket.socket()#创建socket对象
soc.bind(("",6666))#绑定ip和端口号
soc.listen()#开始监听
while True:
print("开始等待连接")
conn,addr = soc.accept()#等待连接
print("连接成功...")
while True:
rev1 = conn.recv(100)#接收数据>>>
#rev2 = conn.recv(4)
#rev3 = conn.recv(4)
if rev1==b"":
break
print("客户端说:",rev1)
#print("客户端说:", rev2)
#print("客户端说:", rev3)
s = input("请输入>>")
conn.send(s.encode("utf-8"))
conn.close()