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