python的功能确实强大,几行代码就能实现聊天功能 ,供大家参考,具体内容如下
服务端:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
from socket import socket
def main():
#创建套接字对象并指定使用哪种传输服务 socket()括号不传递参数默认是tcpipv4
server = socket()
#绑定ip地址和端口(这样可以区分不同的服务) 端口可以自己指定建议使用1024以后的端口
server.bind(( '10.7.152.123' , 5650 ))
# 开启监听 ----监听客户端连接到服务器
server.listen( 512 )
#检查服务器是否已经启动
print ( '服务器已启动' )
#通过循环接收客户端的连接,并做出相应的处理(提供服务)
while true:
#接收客户端的连接 accpet是一个阻塞的方法 如果没有客户端连接到服务器
#这个方法就会阻塞代码不会向下执行(返回的对象是一个元祖)
client , addr = server.accept()
print ( str (addr) + '已经成功连接到服务器.' )
while true:
#decode对接收到的消息进行解码
print (client.recv( 1024 ).decode( 'utf-8' ))
data = input ( '服务器:' )
#判断客户端发来的消息如果出现bey或者拜拜跳出循环
if data = = 'bey' or data = = '拜拜' :
break
#encode对发送的消息进行转码
client.send(data.encode( 'utf-8' ))
#断开连接
client.close()
if __name__ = = '__main__' :
main()
|
客户端:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
from socket import socket
def main():
#创建套接字对象
client = socket()
#连接服务器
client.connect(( '10.7.152.123' , 5650 ))
while true:
data = input ( '客户端:' )
#向服务端发送消息
client.send(data.encode( 'utf-8' ))
if data = = 'bey' or data = = '拜拜' :
break
print (client.recv( 1024 ).decode( 'utf-8' ))
client.colse()
if __name__ = = '__main__' :
main()
|
运行结果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/qq_33196814/article/details/80023790