成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

怎么在python中建立一個(gè)TCP框架

怎么在python中建立一個(gè)TCP框架?針對這個(gè)問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。

在管城等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、成都外貿(mào)網(wǎng)站建設(shè)公司 網(wǎng)站設(shè)計(jì)制作按需求定制網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都全網(wǎng)營銷推廣,外貿(mào)營銷網(wǎng)站建設(shè),管城網(wǎng)站建設(shè)費(fèi)用合理。

python是什么意思

Python是一種跨平臺的、具有解釋性、編譯性、互動性和面向?qū)ο蟮哪_本語言,其最初的設(shè)計(jì)是用于編寫自動化腳本,隨著版本的不斷更新和新功能的添加,常用于用于開發(fā)獨(dú)立的項(xiàng)目和大型項(xiàng)目。

1、優(yōu)點(diǎn)

(1)應(yīng)答機(jī)制:TCP發(fā)送的每個(gè)報(bào)文段都必須得到接收方得應(yīng)答才認(rèn)為這個(gè)TCP報(bào)文段傳輸成功

(2)超時(shí)重發(fā):發(fā)送端發(fā)出一個(gè)報(bào)文段之后,就啟動定時(shí)器,如果在定時(shí)時(shí)間內(nèi)沒有收到應(yīng)答就重新發(fā)送這個(gè)報(bào)文段

(3)錯(cuò)誤校驗(yàn):TCP會用一個(gè)校驗(yàn)的函數(shù)來檢查數(shù)據(jù)是否有錯(cuò)誤,在發(fā)送和接收的時(shí)候都會有校驗(yàn)

(4)流量管控和防阻塞管理:流量控制用來避免主機(jī)因?yàn)橄l(fā)送過快而來不及完全接受

2、搭建框架步驟

(1)導(dǎo)入模塊

(2)創(chuàng)建套接字

(3)設(shè)置地址可以重用

(4)綁定端口

(5)設(shè)置監(jiān)聽,套接字由主動變?yōu)楸粍?/p>

(6)接收客戶端連接

(7)接受客戶端發(fā)送的信息

(8)解碼數(shù)據(jù)并輸出

(9)關(guān)閉和當(dāng)前客戶端的連接

3、實(shí)例

# 1.導(dǎo)入模塊
import socket
import threading
 
 
def recv_msg(new_tcp_socket, ip_port):
    """
    接受信息的函數(shù)
    :return:
    """
    # 這個(gè)while可以不間斷的接收客戶端信息
    while True:
        # 7.接受客戶端發(fā)送的信息
        recv_data = new_tcp_socket.recv(1024)
        if recv_data:
            # 8.解碼數(shù)據(jù)并輸出
            recv_text = recv_data.decode('gbk')
            print('來自[%s]的信息:%s' % (str(ip_port), recv_text))
        else:
            break
    # 關(guān)閉客戶端連接
new_tcp_socket.close()
# 2.創(chuàng)建套接字
tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 3.設(shè)置地址可以重用
tcp_server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True)
# 4.綁定端口
tcp_server_socket.bind(("", 8080))
 
# 5.設(shè)置監(jiān)聽,套接字由主動變?yōu)楸粍?
tcp_server_socket.listen(128)
 
# 用一個(gè)while True來接受多個(gè)客戶端連接
while True:
    # 6.接收客戶端連接
    new_tcp_socket, ip_port = tcp_server_socket.accept()
    print('新用戶[%s]連接' % str(ip_port))
 
    # 創(chuàng)建線程
    thread_msg = threading.Thread(target=recv_msg, args=(new_tcp_socket, ip_port))
    # 子線程守護(hù)主線程
    thread_msg.setDaemon(True)
    # 啟動線程
    thread_msg.start()
    # 調(diào)用接收函數(shù)
    # recv_msg(new_tcp_socket, ip_port)
 
# tcp_server_socket.close()

關(guān)于怎么在python中建立一個(gè)TCP框架問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。

分享名稱:怎么在python中建立一個(gè)TCP框架
當(dāng)前URL:http://jinyejixie.com/article4/pggiie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、網(wǎng)站建設(shè)定制開發(fā)、App開發(fā)網(wǎng)站維護(hù)、品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計(jì)公司
布尔津县| 静安区| 牡丹江市| 张家口市| 富民县| 西乌| 方山县| 饶平县| 拉孜县| 米林县| 汉中市| 汉中市| 偃师市| 肥东县| 巨鹿县| 饶阳县| 雷州市| 长宁区| 崇州市| 泰州市| 汾阳市| 延津县| 大化| 清新县| 桦南县| 弥渡县| 绥化市| 丹棱县| 花莲县| 靖江市| 东阳市| 项城市| 岳阳市| 天全县| 太白县| 泰来县| 桑日县| 贺兰县| 云林县| 汉源县| 郑州市|