话不多说,上图
我自己画的一个原理图,反正这样我能理解这个代码了,实现下面的功能
在这里插入代码片
服务端代码:
from socket import *
HOST = ‘’
PORT = 21222
BUFSIZ = 1024
ADDR = (HOST, PORT)
server = socket(AF_INET, SOCK_STREAM)
server.bind(ADDR)
server.listen(3)
while True:
print(‘wating for connection…’)
client, addr = server.accept()
print(‘connected from:’, addr)
while True:
data = client.recv(BUFSIZ)
if not data:
break
print('client send to you: ', data.decode())
message = input(‘reply:>>’)
client.send((message.encode()))
print('you send to client: ', message)
client.close()
在这里插入代码片
`客户端代码:
``
from socket import *
HOST = '127.0.0.1'
PORT = 21222
BUFSIZ = 1024
ADDR = (HOST, PORT)
client = socket(AF_INET, SOCK_STREAM)
client.connect(ADDR)
while True:
data = input('>')
if not data:
break
client.send(data.encode())
print('you send to server: ', data)
data = client.recv(BUFSIZ)
if not data:
break
print('server say to you: ',data.decode())
client.close()
服务端对话框:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190417120302510.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDIwNzE4MQ==,size_16,color_FFFFFF,t_70)
客户端对话框:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190417120351853.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDIwNzE4MQ==,size_16,color_FFFFFF,t_70)
可以理解下这个原理,感觉每次两边都保留着自己输入的内容,感觉跟QQ微信什么的聊天还是不一样,暂时没改进,以后学会了新的再重新发,技术不好,随意吐槽,都是学习的过程