python網路編程之socket

來源:互聯網
上載者:User

標籤:res   客戶   tcp協議   size   utf-8   服務   import   send   pre   

  socket

  應用程式層和tcp,ucp協議之間的一個介面,使用者只需操作介面,複雜的資料群組織工作由其內部自行完成。

  TCP協議的socket(通訊端):

    服務端

import socketsk = socket.socket()  # 建立一個通訊端對象sk.bind((‘127.0.0.1‘, 8080))  # 綁定本地IP地址和連接埠sk.listen()     # 監聽conn, address = sk.accept()   # 建立串連while True:    ret = conn.recv(1024)   # 接收資料  需要指定接收位元組數    if ret == b‘bye‘:        conn.send(ret)        break    print(ret.decode(‘utf-8‘))    info = input(‘>>>‘).encode(‘utf-8‘)    conn.send(info)   # 發送資料  必須是bytes類型conn.close()   # 關閉串連sk.close()   # 關閉通訊端

    用戶端

import socketsk = socket.socket()  # 建立通訊端sk.connect((‘127.0.0.1‘, 8080))  # 串連服務端while True:    info = input(‘>>>‘).encode(‘utf-8‘)    sk.send(info)   # 發送資料    ret = sk.recv(1024)  # 接收資料    if ret == b‘bye‘:        break    print(ret.decode(‘utf-8‘))sk.close()  # 關閉通訊端

 

  UDP協議的scoket(通訊端):

    服務端

import socketsk = socket.socket(type=socket.SOCK_DGRAM)  # 建立ucp通訊端對象sk.bind((‘127.0.0.1‘, 8080))  # 綁定IP和連接埠msg, address = sk.recvfrom(1024)  # 等待接收資料  ucp必須先接收資料print(msg.decode(‘utf-8‘))sk.sendto(b‘hello‘, address)  # 發送資料  要攜帶發送資料的地址sk.close()

    用戶端

import socketsk = socket.socket(type=socket.SOCK_DGRAM)  # 建立ucp通訊端對象ip_port = (‘127.0.0.1‘, 8080)  # 指定服務端IP和連接埠sk.sendto(b‘hi‘, ip_port)  # 發送資料到指定服務端msg, address = sk.recvfrom(1024)  # 接收返回的資料print(msg.decode(‘utf-8‘))sk.close()

 

 

  

python網路編程之socket

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.