python Socket之客戶端和服務(wù)端握手詳解
簡單的學(xué)習(xí)下利用socket來建立客戶端和服務(wù)端之間的連接并且發(fā)送數(shù)據(jù)
1. 客戶端socketClient.py代碼
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 建立連接:
s.connect(('127.0.0.1', 9999))
# 接收歡迎消息:
print(s.recv(1024).decode('utf-8'))
for data in [b'Michael', b'Tracy', b'Sarah']:
# 發(fā)送數(shù)據(jù):
s.send(data)
print(s.recv(1024).decode('utf-8'))
s.send(b'exit')
s.close()
2. 服務(wù)端serverSocket.py代碼
import socket
import threading
import time
# from threading import Thread
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 監(jiān)聽端口:
s.bind(('127.0.0.1', 9999))
s.listen(5)
print('Waiting for connection...')
def tcplink(sock, addr):
print('Accept new connection from %s:%s...' % addr)
sock.send(b'Welcome!')
while True:
data = sock.recv(1024)
time.sleep(1)
if not data or data.decode('utf-8') == 'exit':
break
sock.send(('Hello, %s!' % data.decode('utf-8')).encode('utf-8'))
sock.close()
print('Connection from %s:%s closed.' % addr)
while True:
# 接受一個(gè)新連接:
sock, addr = s.accept()
# 創(chuàng)建新線程來處理TCP連接:
t = threading.Thread(target=tcplink, args=(sock, addr))
t.start()
3.操作過程
開兩個(gè)控制臺窗口,先運(yùn)行服務(wù)端 python3 serverSocket.py
然后運(yùn)行客戶端 python3 socketClient.py
socket連接截圖如下

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python內(nèi)置函數(shù)locals()的具體示例
本文主要介紹了Python中的內(nèi)置函數(shù)locals()的具體用法和應(yīng)用場景,locals()函數(shù)用于獲取當(dāng)前局部符號表的字典,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-09-09
這篇文章主要為大家介紹了python中selenium模塊的安裝和配置環(huán)境變量教程、提取數(shù)據(jù)操作、無頭模式,有需要的朋友可以借鑒參考下,希望能夠?qū)Υ蠹矣兴鶐椭?/div> 2022-10-10
Python實(shí)現(xiàn)桶排序與快速排序算法結(jié)合應(yīng)用示例
這篇文章主要介紹了Python實(shí)現(xiàn)桶排序與快速排序算法結(jié)合應(yīng)用,結(jié)合實(shí)例形式分析了Python快速排序及桶排序結(jié)合應(yīng)用的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-11-11
Python使用random和tertools模塊解一些經(jīng)典概率問題
這篇文章主要介紹了Python使用random和tertools模塊解一些經(jīng)典概率問題,本文講解了使用random和tertools模塊解羊車門問題、撲克牌問題、生日悖論等經(jīng)典概率問題,需要的朋友可以參考下2015-01-01
python實(shí)現(xiàn)讀取excel寫入mysql的小工具詳解
EXCEL 和 MySQL 大體上來說都可以算是"數(shù)據(jù)庫",MySQL貌似有EXCEL的接口,但是最近在自學(xué)Python,用Python實(shí)現(xiàn)了一下,下面這篇文章主要給大家介紹了關(guān)于利用python實(shí)現(xiàn)讀取excel寫入mysql的一個(gè)小工具,需要的朋友可以參考下。2017-11-11最新評論

