国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

Python Socket TCP雙端聊天功能實現過程詳解

瀏覽:109日期:2022-07-21 10:16:41

SOCKET編程

socket(套接字):是一個網絡通信的端點,能實現不同主機的進程通信, -通過IP+端口定位對方并發送消息的通信機制 分為UDP和TCP 客戶端Client: 發起訪問的一-方 服務器端Server: 接受訪問的一方

UDP編程

Server端流程

1.建立socket,socket是負貴具體通信的一個實例

2.綁定,為創建的socket指派固定的端口和ip地址

3.接受對方發送內容

4.給對方發送反饋,此步驟為非必須步驟

Client端流程

1.建立通信的socket

2.發送內容到指定服務器

3.接受服務器給定的反饋內容

服務器案例v01 客戶端案例v02 服務器程序要求永久運行,一般用死循環處理 改造的服務器版本v03

TCP編程

面向連接的傳輸,即每次傳輸之前需要建立一個連接 客戶端和服務端兩個程序需要編寫

Server端的編寫流程

1.建立Socket負責具體通信。這個socket其實只負責接受對方的請求

2.綁定端口和地址

3.監聽接入的訪問Socket

4.接受訪問的Socket,可以理解接受訪問即建立了一個通訊的鏈路通路

5.接受對方的發送內容,利用接收到的Socket接受內容

6.如果有必要,給對方發送反饋信息

7.關閉鏈路通路

Client端流程

1.建立通信socket

2.鏈接對方,請求跟對方建立通路

3.發送內容到對方服務器

4.接受對方的反饋

5.關閉鏈接通路

Server端:

import socketdef tcp_server(): # 1、建立socket負責具體通信,這個和socket其實只負責接受對方的請求,真通信的是連接后 # socket.AF_INET:使用ipv4協議 # socket.SOCK_STREAM:使用tcp連接 sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM) # 2、綁定IP以及端口 addr = ('192.168.200.2', 1914) sock.bind(addr) # 3、監聽接入的訪問socket sock.listen() while True: # 4、接受訪問的Socket 可以理解接受訪問即建立了一個通訊的連接通路 # accept 返回的元祖第一個元素賦值給SKT,利用接受到的socket接受內容 skt, addr = sock.accept() # 建立通道 # 5、接受對方發送的內容、利用接受到的socket接受內容 # 500 表示接受使用的buffersize # mgs = skt.receive(500) mgs = skt.recv(500) # 接受到的是bytes格式內容 # 想得到str格式的,需要進行解碼 msg = mgs.decode() print(msg) data = f’我已經收到了’ # print(data) # 6、如果有必要、給對方反饋信息 skt.send(data.encode()) skt.close()if __name__ == ’__main__’: print('tcpstaring......') tcp_server() print('tcpstoping......')

client端

import socketdef tcp_client(): a = 0 while a < 100: # 1、建立通信socket sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM) addr = ('192.168.200.2', 1914) sock.connect(addr) data = f'{a}你好 我是client,你收到了么?' sock.send(data.encode()) rst = sock.recv(500) print(rst.decode()) sock.close() a+=1if __name__ == ’__main__’: tcp_client()

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 大兴区| 同心县| 澳门| 西乌珠穆沁旗| 宁夏| 阜康市| 内乡县| 阿克| 清水河县| 正宁县| 罗山县| 邛崃市| 石首市| 阜新市| 临洮县| 龙海市| 东辽县| 昌宁县| 文成县| 开平市| 临夏县| 莆田市| 宁陵县| 界首市| 滦平县| 永胜县| 胶州市| 建瓯市| 田林县| 唐山市| 汉沽区| 上思县| 浪卡子县| 大名县| 胶州市| 泰来县| 沙湾县| 宁陵县| 台中市| 澄迈县| 微山县|