Python學習 網路通訊 socket

2021-10-06 13:59:37 字數 1816 閱讀 4804

# 1、建立套接字

udp_socket = socket.socket(socket.af_inet, socket.sock_dgram)

# 2、繫結本地位址

local_addr =(""

,5678

)udp_socket.bind(local_addr)

# 3、 使用套接字傳送資料

udp_socket.sendto(

"***"

.encode(

"utf-8"),

("192.168.33.11"

,7788))

# 4、使用套接字接受資料

udp_socket.recvfrom(

1024

)# 傳入最大接受位元組數

# 5、關閉

udp_socket.close(

)

實現迴圈接受傳送

import socket 

defsend_msg

(udp_socket)

:"""傳送訊息"""

dest_ip =

input

("請輸入目標ip:"

) dest_port =

int(

input

("請輸入目標埠:"))

send_data =

input

("請輸入傳送內容:"

) udp_socket.sendto(send_data.encode(

"utf-8"),

(dest_ip, dest_port)

)def

recv_msg

(udp_socket)

: recv_data = udp_socket.recvfrom(

1024

)print

("%s%s"%(

str(recv_data[1]

), recv_data[0]

.decode(

"utf-8"))

# windows編碼方式為gdp

defmain()

:# 建立套接字

udp_socket = socket.socket(socket.af_inet, socket.sock_dgram)

# 繫結資訊

udp_socket.bind((""

,7788))

# 迴圈處理

while

true

:print

("------聊天器-------"

)print

("0:退出"

)print

("1:傳送訊息"

)print

("2:接受訊息"

) choose =

input

("請選擇:"

)# 傳送

if choose ==

'1':

send_msg(udp_socket)

# 接受並顯示,接受物件為元組(data, addr)

elif choose ==

'2':

recv_msg(udp_socket)

elif choose ==

'0':

break

else

:print

("請重新輸入:"

)if __name__ ==

"__main__"

: main(

)

每次接受的資料會存起來,每次輸入2則取乙份資料,若沒有資料輸入選擇2,會掛起等待資料進入。

python網路通訊

import urllib 網路通訊模組 from urllib import request def url,ispicture false 預設引數 param url param ispicture return none,直接儲存為檔案,不需要返回值 file name url.split ...

Python學習筆記 網路通訊過程

目錄 網路通訊過程 nat 網路位址轉換器 說明如果兩台電腦之間通過網線連線是可以直接通訊的,但是需要提前設定好ip位址以及網路掩碼 並且ip位址需要控制在同一網段內,例如 一台為192.168.1.1另一台為192.168.1.2則可以進行通訊 說明當有多型電腦需要組成乙個網時,那麼可以通過集線器...

Python 網路通訊過程

2.使用集線器組成乙個網路 3.使用交換機組成乙個網路 4.使用路由器連線多個網路 5.通訊過程 複雜 開放式系統互聯參考模型 埠說明如果兩台電腦之間通過網線連線是可以直接通訊的,但是需要提前設定好ip位址以及網路掩碼 並且ip位址需要控制在同一網段內,例如 一台為192.168.1.1另一台為19...