1、scoket介紹python
scoket:收消息,發消息編程
服務端:服務器
客戶端:不用提供服務網絡
私有地址:192.168.....ssh
172.16socket
10.ide
127.0.0.1 本機地址spa
scoket類型:code
2、socket簡單實例server
socket方法:
服務端:
1 #coding=utf-8 2 from socket import* 3 4 #監聽套接字的鏈接和迴應 5 #服務器端 6 myHost='' #‘’表明主機全部可用端口 7 myPort=50007 8 9 sockobj=socket(AF_INET,SOCK_STREAM)#建立一個TCP scoket 對象 10 sockobj.bind((myHost,myPort))#綁定服務端口號 11 sockobj.listen(5)#監聽,容許5個掛起鏈接 12 13 while True:#一直監聽直到進程被殺死 14 connection,address=sockobj.accept()#等待下個客戶端鏈接 15 print('Server connected by:',address)#鏈接是新的scoket 16 while True: 17 data=connection.recv(1024)#讀取新的客戶端scoket,for 循環接收 18 if not data:break#發送接收報文給客戶端 19 connection.send(b'Echo get your message:'+data)#直到結束關閉scoket,發送只能是b,bite格式 20 connection.close()
客戶端:
1 #coding=utf-8 2 import socket 3 4 #客戶端 5 import sys 6 from socket import * 7 serverHost='localhost' 8 serverPort=50007 9 10 message=[b'hello network world'] 11 12 if len(sys.argv)>1: 13 serverHost=sys.argv[1] 14 if len(sys.argv)>2: 15 message=(x.encode()for x in sys.argv[2:]) 16 17 sockobj=socket(AF_INET,SOCK_STREAM) 18 sockobj.connect((serverHost,serverPort)) 19 20 for line in message: 21 sockobj.send(line) 22 data=sockobj.recv(1024)#1024字節 23 print('Client received:',data) 24 25 sockobj.close()
運行結果:
服務端:
客戶端:
3、利用scoket實現ssh