#客户端
#客户端
import socket
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(("127.0.0.1",12167))
while 1:
#
input_data="name:"+input("message:")
#发送信息
client.send(input_data.encode())
# 接收severe端发来的数据
data = client.recv(1024).decode()
print(data)#输出server端接收来的数据
#如果输入end则结束聊天,把小写转换为大写
if input_data.lower()=='END':
client.close()
exit(1)
# 打电话,服务端
# 打电话,服务端
import socket
#多线程聊天
from threading import Thread
def func(conn,adr):#分配任务
print("conneting:", adr) # 输出端口号
while 1:
data = conn.recv(1024).decode() # 接收client端发送来的数据
data=data.upper()
conn.send(data.encode())#将接受到的返回
print(data)
#如果输入end则结束聊天
if data == "END":
print("end", adr)
conn.close()
exit(1)
# 准备电话
server=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
#输入端口号及ip地址
server.bind(("127.0.0.1",12167))
server.listen() # 等待接电话#端口号
while 1:
conn,adr=server.accept()#接电话
#把接收到的数据分配到func函数,实现多线程聊天
t=Thread(target=func,args=(conn,adr))
t.start()
TCP模式,服务器将客户端发送内容以大写结果返回,并能同时服务多个客户端。
最新推荐文章于 2024-09-29 10:18:15 发布