2 7 TCP套接字程式設計

2021-10-03 20:23:07 字數 3190 閱讀 1000

環境:主機win10-server,虛擬機器win7-client,python3

udpclient.py

from socket import

*servername =

'192.168.***.***'

# 這裡用你們自己主機的ip address

serverport =

12000

clientsocket = socket(af_inet, sock_dgram)

# 第乙個引數指示了位址簇;特別是,af_inet指示了底層網路使用ipv4

# 第二個引數指示了該套接字是sock_dgram型別,這意味著它是乙個udp套接字

message =

input

('input lowercase sentence :'

)clientsocket.sendto(message.encode(),

(servername, serverport)

)# 這裡sendto的message記得編碼encode

modifiedmessage, serveraddress = clientsocket.recvfrom(

2048

)print

(modifiedmessage)

clientsocket.close(

)

udpserver.py

from socket import

*serverport =

12000

serversocket = socket(af_inet, sock_dgram)

# 這裡同上

serversocket.bind((''

, serverport)

)# ip位址和埠號,ip一般不用寫,表示本機的任何乙個ip

print

('the server is ready to receive.'

)message, clientaddress = serversocket.recvfrom(

2048

)modifiedmessage = message.upper(

)# 轉為大寫後再返回回去

serversocket.sendto(modifiedmessage, clientaddress)

serversocket.close(

)

runtime

1)server執行udpserver.py

2)client執行udpclient.py

輸入完之後,press key-enter

返回了大寫的結果,執行結束。

tcpclient.py

from socket import

*tcpclientsocket = socket(af_inet, sock_stream)

serveraddress =

("192.168.1.***"

,7788

)# 這個地方你們用自己的ip

tcpclientsocket.connect(serveraddress)

sentence =

input

("please input one sentence: "

)tcpclientsocket.send(sentence.encode())

receivedata = tcpclientsocket.recv(

1024

)print

("received data is : "

, receivedata.decode())

tcpclientsocket.close(

)

tcpserver.py

from socket import

*tcpserversocket = socket(af_inet, sock_stream)

address =(""

,7788

)tcpserversocket.bind(address)

tcpserversocket.listen(5)

print

("listening..."

)newsocket, clientaddress = tcpserversocket.accept(

)print

("connection building..."

, clientaddress)

receivedata = newsocket.recv(

1024

)print

("received data is : "

, receivedata.decode())

newsocket.send(receivedata.upper())

newsocket.close(

)tcpserversocket.close(

)

runtime

win10-server執行tcpserver.py

​ 2)win7-client執行tcpcliet.py

輸入完之後,press key-enter

同樣返回了大寫的結果,執行結束。

參考部落格

python網路-socket之tcp程式設計(26)

TCP套接字程式設計

網路程式設計又稱為套接字程式設計,為了與遠端計算機進行資料傳輸,需要連線到網際網路,而程式設計中的 套接字 就是用來連線該網路的工具。它本身具有連線的含義,還可以表示為兩台計算機之間的網路連線。4.呼叫accept函式受理連線請求 基於tcp的服務端 客戶端 tcp伺服器端預設函式呼叫順序 sock...

TCP套接字程式設計

對於socket不理解的可以檢視 c語言通過socket程式設計實現tcp通訊,linux socket程式設計 socket詳解 先看看程式效果圖 提示如果伺服器,直接通過ctrl z關閉,這樣程式占用的位址不會釋放,需要以下操作 1.ps 檢視程序 2.kill 9 程式pid 強制殺死程序 服...

TCP套接字程式設計!!!

一 socket程式設計的基本函式詳解,其中根據客戶端還是服務端,或者根據使用tcp還是udp,函式的呼叫流程有些許區別 1 socket 函式用於建立乙個套接字,一條通訊線路的端點。3 listen 在服務端程式成功建立套接字和與位址進行繫結之後,還需要準備在該套接字上接收新的連線請求。此時呼叫l...