一时兴起,简单写了一下基于TCP的小聊天程序,结束程序的关键字很简单,就一个“傻”字,程序运行后在聊天区任意输入“傻”字就可以终结“聊天”。
只用到了一个socket的库,用下面指令进行安装就可以
pip install socket
pip install socket
安装好就可以对下面代码进行运行了,保证零修改哦!
先运行server——服务端,由于服务端需要绑定IP以及端口号,也就是套接字socket的绑定,并设置监听,进行对client——客户端信息的接收。
import socket
if __name__ == '__main__':
i = 1
tcp = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
tcp.bind(("",10000))
tcp.listen(128)
new,ip = tcp.accept()
while (i):
text2 = new.recv(1024)
text3 = text2.decode("gbk")
print(text3)
# str(text3)
for i in str(text3):
if i == '傻':
print("由于对方涉及不良言论,此次聊天会话关闭")
i = 0
break
text6 = input()
new.send(text6.encode("gbk"))
# text7 = text6.decode("gbk")
# print(text7)
new.close()
tcp.close()
再运行client——客户端,这个时候就可以one to one通话啦!
import socket
# 创建TCP客户端套接字
if __name__ == '__main__':
i = 1
tcp_client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 和服务端套接字建立连接
tcp_client_socket.connect(("192.168.1.107", 10000))
while(i):
#发送数据到服务端
text = input()
text1 = text.encode("gbk")
tcp_client_socket.send(text1)
for j in str(text1):
if j == '傻':
print("由于你涉及不良言论,此次聊天会话关闭")
i = 0
tcp_client_socket.close()
break
# 接收客户端数据
text2 = tcp_client_socket.recv(1024)
text3 = text2.decode("gbk")
print(text3)
# str(text3)
for i in str(text3):
if i == '傻':
print("由于对方涉及不良言论,此次聊天会话关闭")
i = 0
break
tcp_client_socket.close()
输入———“傻”——终结程序
___好了,bye~