資訊內容
python socket 完成簡單的通信
3Ab少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
推薦(免費):python教程3Ab少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
socket的介紹3Ab少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
socket又稱“套接字”,socket會通過udp/tcp協議來發送數據,用來實現兩臺機器的簡單通信。3Ab少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
注意:如果要用socket實現兩臺機器的簡單通信,請先確保這兩臺機器連入同一個局部網中。當然,socket也可以實現一臺機器的通信,你只需要把連接對象ip設置為127.0.0.1,也就是本機ip。3Ab少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
實例3Ab少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
這里只展示部分實用的函數。3Ab少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
3Ab少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
機器之間的通信功能3Ab少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
socket服務端讓我們創建一個叫做socket_server.py,然后輸入以下代碼:3Ab少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
import socket server = socket.socket()server.bind(('0.0.0.0',80))server.listen()sock,addr = server.accept()data = ""while True: tmp_data = sock.recv(1024) if tmp_data: data += tmp_data.decode("utf8") else: breakprint('%s發送的內容:%s'%(addr[0],data))sock.close()這里我們創建了一個套接字,綁定到了0.0.0.0:80的地址上,這個地址也可以改成我們本機的名稱。然后我們就開始監聽模式,用戶連接之后,就開始接受數據(注意:在接受數據之前要進行utf8解碼)。3Ab少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
socket客戶端創建完socket_server.py之后,我們就能創建我們的客戶端了。讓我們創建一個叫做socket_client.py的文件,然后輸入以下代碼:3Ab少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
import socket client = socket.socket()client.connect(('127.0.0.1',80))client.send("Hello,Server.".encode("utf8"))client.close()這里我們就只講以下connect和send這兩個函數。connect函數我們傳入了個元組,當然列表也行。第一個元素需要是連接的對象ip,第二個就是端口。連接完之后,我們就是用send函數來進行發送消息,在發送之前,我們需要先把內容編碼為utf8類型。3Ab少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
對一個網站發送數據3Ab少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
我們創建一個叫socket_website.py的文件,輸入以下代碼:3Ab少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
import socket s.connect(('www.baidu.com',443))s.send('HELLO'.encode('utf8'))s.close()這里,我們對baidu.com發送了數據,由于百度是https協議的,所以我們用443端口。如果代碼沒有報錯的話,就說明發送成功了。這個時候,百度的數據庫就會多了一段叫HELLO的文本內容數據。3Ab少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
tip:如果不停的用socket向一個網站或機器發送數據,數據太多就會導致目標的數據庫/機器內存爆滿,導致崩潰。這就實現了簡單的傳說中的ddos攻擊
以上就是python socket 完成簡單的通信的詳細內容,更多請關注少兒編程網其它相關文章!3Ab少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

- 上一篇
python如何用IP代理
簡介python用IP代理的方法:首先創建代理ip對象;然后定制一個opener對象;接著urlopen就一直使用這個代理地址;最后發出請求時,就是用到這個代理地址了。【相關學習推薦:python教程】python用IP代理的方法:python使用代理的方法有兩種1.1#先創建代理ip對象2proxy_
- 下一篇
如何查看postgresql用戶連接會話
簡介查看postgresql用戶連接會話的方法:在postgresql數據庫中查詢命令用的都是select語句,查看postgresql的連接總數用“select*frompg_stat_activity;”命令即可示例如下:連接數大小參數:max_connection查看連接總數:select&nbs