python網路編程

來源:互聯網
上載者:User

標籤:返回   使用   rom   code   connect   gpo   odi   end   --   

前言:網路編程主要分成udp和tcp兩種,udp不需要建立串連,所以傳輸速度快,但不穩健,tcp需要建立串連,所以傳輸速度慢,但穩健,現在,大多數應用都採用tcp來進行通訊。

一、UDP

  1.send端

    1)導包 from socket import *

    2)建立udpSocket對象,udpSocket = socket(AF_INET,SOCK_DGREAM)

    3)調用對象發送訊息,udpSocket.sendto("hello,udp,我來了".encode("utf-8"),("你要發送的那台機器的ip地址",連接埠))

    4)關閉udpSocket對象,udpSocket.close()

  2.recive端

    1)導包 from socket import *

    2)建立udpSocket對象,udpSocket = socket(AF_INET,SOCK_DGREAM)

    3)綁定ip和連接埠,udpSocket.bind(("你要接收的那台機器的ip地址",連接埠))

    4)接收資料,udpSocket.recvfrom(1024)

    5)關閉udpSocket對象,udpSocket.close()

  
1 from socket import *2 3 udpSocket = socket(AF_INET,SOCK_DGRAM)4 #使用udp發送的資料,在每一次的都需要寫上接收方的ip和port,可以告訴接收方用什麼方式編碼5 udpSocket.sendto("haha\n".encode("gb2312"),("172.25.6.222",8080))6 7 udpSocket.sendto("你好啊".encode("utf-8"),("202.193.52.52",1880))
send端  
1 #coding = utf-82 3 from socket import *4 udpSocket = socket(AF_INET,SOCK_DGRAM)5 6 udpSocket.bind((‘‘,8080))7 recvData = udpSocket.recvfrom(1024)8 print(recvData[0].decode("utf-8"))
recive端

二、TCP

  1.server端

    1)導包 from socket import *

    2)建立tcpSocket對象,tcpSocket = socket(AF_INET,SOCK_STREAM)

    3)綁定ip和連接埠,tcpSocket.bind("server端的ip",連接埠)

    4)監聽,tcpSocket.listen(5)

    5)接收client端,clientSocket,clientInfo = tcpSocket.accept()

    6)將client端的請求資訊進行列印,recvData = clientSocket.recv(1024),print(recvData)

  2.client端

    1)導包 from socket import *

    2)建立tcpSocket對象,tcpSocket = socket(AF_INET,SOCK_STREAM)

    3)串連server端,tcpSocket.connect("server的ip地址",連接埠)

    4)向server端發送資料,clientSocket.send("hello,tcp,我來了".encode("utf-8"))

    5)將server端返回的資訊進行列印,recvData = clientSocket.recv(1024),print(recvData)

    6)關閉用戶端,clientSocket.close()

  
 1 from socket import * 2  3 serverSocket = socket(AF_INET, SOCK_STREAM) 4  5 serverSocket.bind(("", 8899)) 6  7 serverSocket.listen(5) 8  9 print("-----1-----")10 clientSocket,clientInfo = serverSocket.accept()11 12 print("-----2-----")13 #clientSocket 表示這個新的用戶端14 #clientInfo 表示這個新的用戶端的ip以及port15 16 recvData = clientSocket.recv(1024)17 18 print("-----3-----")19 print("%s:%s"%(str(clientInfo), recvData))20 21 clientSocket.close()22 serverSocket.close()
server端  
 1 from socket import * 2  3 clientSocket = socket(AF_INET, SOCK_STREAM) 4 clientSocket.connect(("192.168.119.153", 8989)) 5  6 #注意: 7 # 1. tcp用戶端已經連結好了伺服器,所以在以後的資料發送中,不需要填寫對方的iph和port----->打電話 8 # 2. udp在發送資料的時候,因為沒有之前的連結,所依需要 在每次的發送中 都要填寫接收方的ip和port----->寫信  9 clientSocket.send("haha".encode("gb2312"))10 11 recvData = clientSocket.recv(1024)12 13 print("recvData:%s"%recvData)14 15 clientSocket.close()
client端

 

python網路編程

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.