用tcp套接字搭建聊天室
import socket
def main():
#1.创建tcp套接字
tcp_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
#2.绑定本地信息(bind)
tcp_socket.bind(("",6344))
#3.默认的套接字由主动改为被动(listen)
tcp_socket.listen(128)
while True:
print("欢迎来到 [天上人间] 聊天室 V2.0版本")
print("[1]进入聊天室 : [0]退出聊天室")
chatting_input = input("请选择您想进行的操作:")
#如果用户选择[1]
if chatting_input == "1":
print("正在等待用户链接中...")
#4.等待客户链接(accept)
new_client,wait_client = tcp_socket.accept()
print("当前用户为: %s"%str(wait_client))
while True:
#输出选择功能界面
print("[1]:接收数据; [2]:发送数据 ; [0]:退出房间")
slect_input = input("请您选择想要执行的操作: ")
print("您选择的操作为: %s"%slect_input)
print("欢迎来到 [天上人间] 001号房 ")
#进行判断
if slect_input == "1":
#5.接收数据
recv_data = new_client.recv(1024)
print("客户端发来的信息为:%s"%recv_data.decode("utf-8"))
#如果输入[2],则发送数据;
elif slect_input == "2":
#6.发送数据
send_data = input("请输入您所要发送的内容: ")
new_client.send(send_data.encode("utf-8"))
#如果输入0,提出聊天室
else:
print("谢谢使用,欢迎下次光临")
break
else:
break
#6.关闭套接字
new_client.close()
tcp_socket.close()
if __name__ == "__main__":
main()