python網路程式設計 TCP服務的簡單實現

2022-07-28 00:57:11 字數 1927 閱讀 5603

tcp服務的簡單實現過程分為服務端和客戶端的實現,

首先服務端的實現過程大致為

################

##tcp服務端結構##

################

tcps = socket() #建立伺服器套接字

tcps.bind() #把位址繫結到套接字

tcps.listen() #監聽鏈結

while true: #伺服器無限迴圈

tcpc = tcps.accept() #接受客戶端鏈結

while true: #通訊迴圈

tcpc.recv()/tcpc.send() #對話(接收與傳送)

tcpc.close() #關閉客戶端套接字

tcps.close() #關閉伺服器套接字(可選)

下面放上**:

服務端的**為

#

server.py

import

socket

import

sys#

建立socket物件

serversocket =socket.socket(socket.af_inet, socket.sock_stream)

#sock_stream面向連線

#獲取本地主機名

host =socket.gethostname()

port = 9999

#繫結埠

serversocket.bind((host, port))

#bind()繫結位址(host,port)到套接字,

#在af_inet下,以元組(host, port)的形式表示位址

#設定最大連線數,超過後排隊

serversocket.listen(5)

while

true:

#建立客戶端鏈結

clientsocket, addr =serversocket.accept()

#被動接受tcp客戶端鏈結,等待傳入連線。

#返回代表連線的新套接字以及客戶端的位址。

#對於ip套接字,位址資訊是一對(hostaddr,埠)。

print("

" %str(addr))

msg = "

" + "

\r\n

"clientsocket.send(msg.encode(

'utf-8'))

clientsocket.close()

客戶端的**為
#

client.py

import

socket

import

sys#

建立socket物件

s =socket.socket(socket.af_inet, socket.sock_stream)

#獲取本地主機名

host =socket.gethostname()

port = 9999

#鏈結服務,指定主機和埠

s.connect((host, port))

#接收小於num_byte的資料

num_byte = 1024msg =s.recv(num_byte)

s.close()

print(msg.decode('

utf-8

'))

需要介紹的是,這兩個程式如果在同乙個主機上執行,那麼可以看到服務端print出來的ip位址為127.0.0.1,這個ip位址是乙個本主機內的環迴位址,如果需要在區域網內的兩個主機中分別執行這兩個指令碼,則需要將客戶端中的

host =socket.gethostname()

python網路程式設計 TCP網路程式設計

tcp程式設計 客戶端 import socket 1 套接字 tcp socket socket.socket socket.af inet,socket.sock stream 2 建立鏈結 tcp socket.connect 172.27.35.1 8080 3 傳送資訊 tcp socke...

python網路程式設計 TCP

一 網路通訊模式 對於網路通訊,現在遵循的是tcp ip協議組。而現在設計的通訊模式中,主要使用的是客戶端 伺服器程式設計,所謂的客戶端就是我們使用者所用的軟體,而服務端則是程式開發人員根據客戶端的需要設計的服務模式,為了是滿足客戶端的要求,實現和客戶端進行正常通訊。二 套接字 通訊的端點 對於tc...

python筆記 網路程式設計 TCP程式設計(伺服器)

目錄 一 建立伺服器響應 1.1步驟 1.2完整 1.3執行 伺服器程序首先要繫結乙個埠並監聽來自其他客戶端的連線。如果某個客戶端連線過來了,伺服器就與該客戶端建立socket連線,隨後的通訊就靠這個socket連線了。所以,伺服器會開啟固定埠 比如80 監聽,每來乙個客戶端連線,就建立該socke...