python網路程式設計(socket)

2021-07-29 11:19:37 字數 2201 閱讀 6604

python網路程式設計(socket)

一、scoket介紹

scoket:收訊息,發訊息

服務端:

scoket()

bind()

listen()

accept()

read()

write()

read()

close()

客戶端:不用提供服務

scoket()

connect()

writre()

read()

close()

172.16

10.127.0.0.1 本機位址

scoket型別:

二、socket簡單例項

socket方法:

服務端:

1

#coding=utf-8

2from socket import*34

#監聽套接字的連線和回應5#

伺服器端

6 myhost=''

#『』代表主機所有可用埠

7 myport=50007

89 sockobj=socket(af_inet,sock_stream)#

建立乙個tcp scoket 物件

10 sockobj.bind((myhost,myport))#

繫結服務埠號

11 sockobj.listen(5)#

監聽,允許5個掛起連線

1213

while true:#

一直監聽直到程序被殺死

14 connection,address=sockobj.accept()#

等待下個客戶端連線

15print('

server connected by:

',address)#

連線是新的scoket

16while

true:

17 data=connection.recv(1024)#

讀取新的客戶端scoket,for 迴圈接收

18if

not data:break

#傳送接收報文給客戶端

19 connection.send(b'

echo get your message:

'+data)#

直到結束關閉scoket,傳送只能是b,bite格式

20 connection.close()

客戶端:

1

#coding=utf-8

2import

socket34

#客戶端

5import

sys6

from socket import *

7 serverhost='

localhost

'8 serverport=50007

910 message=[b'

hello network world']

1112

if len(sys.argv)>1:

13 serverhost=sys.argv[1]

14if len(sys.argv)>2:

15 message=(x.encode()for x in sys.argv[2:])

1617 sockobj=socket(af_inet,sock_stream)

18sockobj.connect((serverhost,serverport))

1920

for line in

message:

21sockobj.send(line)

22 data=sockobj.recv(1024)#

1024位元組

23print('

client received:

',data)

2425 sockobj.close()

執行結果:

服務端:

客戶端:

三、利用scoket實現ssh

python 網路程式設計學習 套接字socket

以前也學過套接字程式設計,這次想系統全面的學習下python網路程式設計的使用。做這個,為檢測進度,也為後續留下筆記和足跡。socket 常用函式 socket.gethostname socket.gethostbyname import socket host socket.gethostnam...

Python網路程式設計學習筆記一 socket模組

coding utf 8 主要測試python網路程式設計中socket模組的使用 涉及到的技術點 套接字 面向連線的還有非面向連線套接字 tcp面向連線 udp非面向連線 1 匯入socket 2 建立socket socket三要素 1 socket family,2 socket type 3...

python網路程式設計 TCP網路程式設計

tcp程式設計 客戶端 import socket 1 套接字 tcp socket socket.socket socket.af inet,socket.sock stream 2 建立鏈結 tcp socket.connect 172.27.35.1 8080 3 傳送資訊 tcp socke...