環境:主機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...