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()
相關文章
- 一個簡單的vue + koa2前後端互動例項Vue後端
- Java的Socket通訊簡單例項Java單例
- 如何建立一個新的SQL Server例項SQLServer
- 如何用Java Socket實現一個簡單的Redis客戶端JavaRedis客戶端
- Linux下簡單的ACE socket客戶端和伺服器端Linux客戶端伺服器
- 如何獲得db server端和client端的ip和host_nameServerclient
- ElasticSearch客戶端簡單操作例項Elasticsearch客戶端
- Python使用Socket寫一個簡單聊天程式Python
- Java review--NIO例項:實現服務端和客戶端的簡單通訊JavaView服務端客戶端
- SHA-256加密簡單例項(客戶端、服務端)加密單例客戶端服務端
- Socket最簡單的客戶端與服務端通訊-Java客戶端服務端Java
- C#中WebService的建立、部署和呼叫的簡單例項C#Web單例
- 如何獲得server端和client端ip address和host name!Serverclient
- Python簡單的多客戶端聊天室程式Python客戶端
- 簡單的聊天程式,主要用到的是Socket
- 一個簡單的遠端溢位漏洞分析
- 一個前端與後端分離的架構例項前端後端架構
- 利用tirpc庫實現簡單的客戶端和服務端RPC客戶端服務端
- php實現一個簡單的socketPHP
- python3將變數輸入的簡單例項Python變數單例
- Java例項開發05-02 簡單的HTTP伺服器端JavaHTTP伺服器
- WinForm的Socket實現簡單的聊天室 IMORM
- server端雙socket 設計方式Server
- SQL Server 2000 如何建立一個新例項 ?SQLServer
- Windows10 VS2017 C++ Server Socket簡單伺服器端與客戶端WindowsC++Server伺服器客戶端
- 從Linux原始碼看Socket(TCP)Client端的ConnectLinux原始碼TCPclient
- 搭建分散式事務元件 seata 的Server 端和Client 端詳解(小白都能看懂)分散式元件Serverclient
- socket.io client + socketio-netty server簡析clientNettyServer
- WebRTC:一個視訊聊天的簡單例子Web單例
- PHP-Socket服務端客戶端傳送接收通訊例項詳解PHP服務端客戶端
- Siebel——EBC建立、Client資料端配置client
- electron+vue 仿微信客戶端聊天|electron 仿微信介面|electron 聊天例項Vue客戶端
- 建立一個簡單的小程式
- 確保您擁有一個獨一無二的例項:單例模式的建立方式單例模式
- javascript this用法和簡單例項JavaScript單例
- Struts2中一個簡單的入門例項
- node.js實現的簡單udp廣播伺服器和客戶端程式碼例項Node.jsUDP伺服器客戶端
- Java Socket程式設計系列(三)開發支援單客戶端訪問的ServerJava程式設計客戶端Server