1. 程式人生 > >【網絡編程】socket編程

【網絡編程】socket編程

網絡編程 就是 rip oca 而在 字節 end recv 連接建立

socket概念

socket本質上就是在2臺網絡互通的電腦之間,架設一個通道,兩臺電腦通過這個通道來實現數據的互相傳遞。 我們知道網絡 通信 都 是基於 ip+port 方能定位到目標的具體機器上的具體服務,操作系統有0-65535個端口,每個端口都可以獨立對外提供服務,如果 把一個公司比做一臺電腦 ,那公司的總機號碼就相當於ip地址, 每個員工的分機號就相當於端口, 你想找公司某個人,必須 先打電話到總機,然後再轉分機 。

建立一個socket必須至少有2端, 一個服務端,一個客戶端, 服務端被動等待並接收請求,客戶端主動發起請求, 連接建立之後,雙方可以互發數據。

技術分享圖片

客戶端:(示例)

import
socket client=socket.socket() #聲明sockrt類型,同時生成socket鏈接對象 client.connect((localhost,6969)) while True: msg=input(>>>).strip() if len(msg)==0: #空字節不能發送 continue client.send(msg.encode(utf-8)) data=client.recv(1024) print(recv:,data.decode()) client.close()

服務端:

import socket

server=socket.socket()
server.bind((localhost,6969))    #綁定要監聽的端口

server.listen()    #監聽

print(waiting..)
conn, addr = server.accept()  # 等待
#conn就是客戶端連接過來,而在服務端為其生成的一個連接實例

while True:

    # print(conn,addr)
    print(recving...)

    data=conn.recv(1024)
    print(recv:
,data.decode()) if not data: print(client has lost...) break conn.send(data.upper()) server.close()

【網絡編程】socket編程