本文实例讲述了Python基于Socket实现的简单聊天程序。分享给大家供大家参考,具体如下:
需求:SCIENCE 和MOOD两个人软件专业出身,厌倦了大众化的聊天软件,想着自己开发一款简易的聊天软件,满足他们的个性化需求,又不失“专业水准”,Talk is easy, try to code it.
技术:socket,详细可参考前文:Python Socket实现简单TCP Server/client功能
语言:python
尽管socket区分服务器和客户端,但是在聊天程序中两者是平等的关系,都是客户端程序。
Server.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
import socket host = socket.gethostname() port = 12345 s = socket.socket(socket.AF_INET,socket.SOCK_STREAM) s.bind((host,port)) s.listen( 1 ) sock,addr = s.accept() print ( 'Connection built' ) info = sock.recv( 1024 ).decode() while info ! = 'exit' : print ( 'MOOD:' + info) send_mes = input () sock.send(send_mes.encode()) if send_mes = = 'exit' : break info = sock.recv( 1024 ).decode() sock.close() s.close() |
Client.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
import socket s = socket.socket() host = socket.gethostname() port = 12345 s.connect((host,port)) print ( 'Linked' ) info = '' while info ! = 'exit' : print ( 'SCIENCE:' + info) send_mes = input () s.send(send_mes.encode()) if send_mes = = 'exit' : break info = s.recv( 1024 ).decode() s.close() |
效果截图:
恩,太low了有木有?连个图形化界面都没有,跟别谈其他个性化功能了。希望他们继续努力,早日做出属于他们自己的聊天软件吧!
希望本文所述对大家Python程序设计有所帮助。