基於python的socket簡單實現

2021-10-04 07:56:43 字數 1164 閱讀 9222

socket被翻譯為「套接字」,它是計算機之間進行通訊的一種約定或一種方式。

socket的生命週期如下:

1.將socket與位址和埠進行繫結

2.開啟服務端,等待連線

3.建立連線

4.傳送和接收資料

5.關閉連線,關閉服務端

簡單來說,就是開啟,建立連線,傳輸資料,關部的過程

具體**如下:

與瀏覽器通訊為例:

import socket

sk = socket.socket() #socket模組中socket類

sk.bind(('127.0.0.1',9001)) #繫結位址和埠

sk.listen() #監聽模式,開啟服務端,等待連線

conn,addr = sk.accept() #conn為建立的連線 addr為對方位址

# conn.send(b'hello') #傳送資訊,b代表二進位制型別

#with open('hello.html','rb') as f: #開啟html檔案,以二進位制讀取

# data = f.read()

#conn.send(data)

from_browser_msg = conn.recv(1024) #接收

print(from_browser_msg)

conn.close() #關閉連線

sk.close() #關部服務端

1.、\r\n\r\n稱crlf ,是指回車(carriage return)+換行(line feed),是http響應的格式——響應頭』http/1.1 200 ok』後面要接\r\n\r\n,再接內容。

2.send內容可以是字串轉的二進位制也可以是html檔案。

基於Python的Socket程式設計

socket基礎 socket的英文原義是 孔 或 插座 最初作為bsd unix的程序通訊機制,也被稱作 套接字 用於描述ip位址和埠,是乙個通訊鏈的控制代碼,可用來實現不同虛擬機器或不同計算機之間的通訊。在internet上的主機一般執行了多個服務軟體,同時提供幾種服務。每種服務都開啟乙個soc...

Python基於socket實現簡單套接字通訊

客戶端的connect對應的服務端的accept 三次握手 服務端既可以發訊息也可以收訊息 客戶端 coding utf 8 import socket 1 先有手機 socket型別 網路通訊 流式就是tcp協議 phone socket.socket socket.af inet,socket....

基於TCP的socket程式設計

sockets 套接字 程式設計有三種,流式套接字 sock stream 資料報套接字 sock dgram 原始套接字 sock raw 基於 tcp的 socket 程式設計是採用的流式套接字。在這個程式中,將兩個工程新增到乙個工作區。要鏈結乙個 ws2 32.lib 的庫檔案。伺服器端程式設...