python3:利用socket建立的一個簡單的聊天client端和server端例項
利用socket建立一個簡單的聊天client端和server端, 通過這個例項,可以加強學習瞭解socket的工作機制。
效果如下圖:
server端程式碼如下:
#!/user/bin/env python
#-*- coding:utf-8 -*-
import socket
#待bind的ip/port
ip_port = ('127.0.0.1', 9999)
#建立socket
s = socket.socket()
#繫結ip/port
s.bind(ip_port)
#監聽連線
s.listen()
print('等待使用者連線中... ...')
while(True):
#建立連線後,將accept()返回的元組賦值給conn, addr
conn, addr = s.accept()
if conn is not None:
print('有一個使用者已連線.\n等待對方傳送資訊.')
while(True):
try:
recv_data = conn.recv(1024)
#顯示接收的資訊
print('對方傳送的資訊:', str(recv_data, encoding = 'utf-8'))
send_data = input('我回復>>').strip()
conn.send(bytes(send_data, encoding = 'utf-8'))
print('等待對方傳送資訊>>')
except Exception:
print('遠端主機強迫關閉了一個現有的連線,續繼等待其它的連線。')
break
conn.close()
客戶端程式碼如下:
#!/user/bin/env python
#-*- coding:utf-8 -*-
import socket
#待建立連線HOST的ip/port
ip_port = ('127.0.0.1', 9999)
#建立socket
s = socket.socket()
#建立連線
s.connect(ip_port)
while(True):
#待傳送的資訊
send_data = input('給對方傳送資訊:').strip()
s.send(bytes(send_data, encoding = 'utf-8'))
print('等待對方回覆:')
#接收資訊並顯示
recv_data = s.recv(1024)
print('你有新的訊息:', str(recv_data, encoding = 'utf-8'))
s.close()
相關文章
- Java的Socket通訊簡單例項Java單例
- Linux下簡單的ACE socket客戶端和伺服器端Linux客戶端伺服器
- Python使用Socket寫一個簡單聊天程式Python
- ElasticSearch客戶端簡單操作例項Elasticsearch客戶端
- 如何用Java Socket實現一個簡單的Redis客戶端JavaRedis客戶端
- SHA-256加密簡單例項(客戶端、服務端)加密單例客戶端服務端
- C#中WebService的建立、部署和呼叫的簡單例項C#Web單例
- 從Linux原始碼看Socket(TCP)Client端的ConnectLinux原始碼TCPclient
- Socket最簡單的客戶端與服務端通訊-Java客戶端服務端Java
- socket.io client + socketio-netty server簡析clientNettyServer
- python3將變數輸入的簡單例項Python變數單例
- Windows10 VS2017 C++ Server Socket簡單伺服器端與客戶端WindowsC++Server伺服器客戶端
- vs2010編寫的簡單socket聊天
- 利用tirpc庫實現簡單的客戶端和服務端RPC客戶端服務端
- php實現一個簡單的socketPHP
- server端雙socket 設計方式Server
- WinForm的Socket實現簡單的聊天室 IMORM
- 搭建分散式事務元件 seata 的Server 端和Client 端詳解(小白都能看懂)分散式元件Serverclient
- 確保您擁有一個獨一無二的例項:單例模式的建立方式單例模式
- frida 建立一個ArrayList例項
- WebRTC:一個視訊聊天的簡單例子Web單例
- 建立一個簡單的小程式
- 《初識TCP》iOS、macOS實現socket client與socket serverTCPiOSMacclientServer
- VSCode一個簡單的vue移動端適配方案VSCodeVue
- 分享一個簡單的聊天室專案
- python socket例項Python
- electron+vue 仿微信客戶端聊天|electron 仿微信介面|electron 聊天例項Vue客戶端
- Next.js+React聊天室|Next仿微信桌面端|next.js聊天例項JSReact
- 一個端到端的基於 form 表單的檔案上傳程式,包含客戶端和伺服器端ORM客戶端伺服器
- 使用WebSocket實現一個簡單的頁面聊天Web
- python中類的建立和例項化Python
- 一段最簡單的使用socket.io進行伺服器和客戶端通訊的例子程式碼伺服器客戶端
- Python socket的客戶端Python客戶端
- WEB例項:開發一個聊天室應用Web
- C# 簡單的聊天大廳功能及原始碼(socket通訊)C#原始碼
- Angular 如何根據一個 class 的定義和資料,動態建立一個該類的例項Angular
- 基於Java NIO 寫的一個簡單版 Netty 服務端JavaNetty服務端
- 使用Apollo Server搭建GraphQL的服務端和客戶端Server服務端客戶端