Python基于socket實現簡單的即時通訊功能示例
更新時間:2018年01月16日 11:13:09 作者:akuarius
這篇文章主要介紹了Python基于socket實現簡單的即時通訊功能,涉及Python基于socket模塊實現tcp通信客戶端與服務器端相關操作技巧,需要的朋友可以參考下
本文實例講述了Python基于socket實現簡單的即時通訊功能。分享給大家供大家參考,具體如下:
客戶端tcpclient.py
# -*- coding: utf-8 -*- import socket import threading # 目標地址IP/URL及端口 target_host = "127.0.0.1" target_port = 9999 # 創(chuàng)建一個socket對象 client = socket.socket(socket.AF_INET,socket.SOCK_STREAM) # 連接主機 client.connect((target_host,target_port)) def handle_send(): while True: content = raw_input() client.send(content) def handle_receive(): while True: response = client.recv(4096) print response send_handler = threading.Thread(target=handle_send,args=()) send_handler.start() receive_handler = threading.Thread(target=handle_receive,args=()) receive_handler.start()
服務器端tcpserver.py
# -*- coding: utf-8 -*- import socket import threading # 監(jiān)聽的IP及端口 bind_ip = "127.0.0.1" bind_port = 9999 #socket 服務器初始化 server = socket.socket(socket.AF_INET,socket.SOCK_STREAM) server.bind((bind_ip,bind_port)) server.listen(5) print "[*] Listening on %s:%d" % (bind_ip,bind_port) # 定義函數handle_client,輸入參數client_socket def handle_client(): while True: request = client_socket.recv(1024) print "[*] Received:%s" % request def handle_send(): while True: content = raw_input() client_socket.send(content); #阻塞在這里,等待接收客戶端的數據 client_socket,addr = server.accept() print "[*] Accept connection from:%s:%d" % (addr[0],addr[1]) #創(chuàng)建一個線程 client_handler = threading.Thread(target=handle_client,args=()) client_handler.start() send_handler = threading.Thread(target=handle_send,args=()) send_handler.start()
更多關于Python相關內容可查看本站專題:《Python Socket編程技巧總結》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設計有所幫助。
您可能感興趣的文章:
- 利用Python中SocketServer 實現客戶端與服務器間非阻塞通信
- python網絡編程之TCP通信實例和socketserver框架使用例子
- Python采用socket模擬TCP通訊的實現方法
- python實現簡單socket通信的方法
- python socket多線程通訊實例分析(聊天室)
- Python socket網絡編程TCP/IP服務器與客戶端通信
- Python網絡編程使用select實現socket全雙工異步通信功能示例
- python通過socket實現多個連接并實現ssh功能詳解
- Python與Java間Socket通信實例代碼
- 結合Python的SimpleHTTPServer源碼來解析socket通信
- Python實現socket非阻塞通訊功能示例
相關文章
python使用PythonMagick將jpg圖片轉換成ico圖片的方法
這篇文章主要介紹了python使用PythonMagick將jpg圖片轉換成ico圖片的方法,涉及PythonMagick模塊操作圖片的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-03-03python實現測試工具(一)——命令行發(fā)送get請求
這篇文章主要介紹了python如何實現命令行發(fā)送get請求,幫助大家更好的利用python進行測試工作,感興趣的朋友可以了解下2020-10-10淺談Python numpy創(chuàng)建空數組的問題
今天遇到一個小小的問題,是關于numpy創(chuàng)建空數組,今天特地整理了這篇文章,文中作出了非常詳細的介紹,對正在學習python的小伙伴們有很好的幫助,需要的朋友可以參考下2021-05-05