Python學習 Socket 網路程式設計

2021-08-10 07:10:24 字數 1185 閱讀 3594

socket簡介:

埠號:用來辨別本地通訊程序,乙個本地的程序在通訊時均會占用乙個埠號,不同的程序埠號不同,因此在通訊前必須要分配乙個沒有被訪問的埠號。

連線:指兩個程序間的通訊鏈路。

socket()函式

python 中,我們用 socket()函式來建立套接字,語法格式如下

socket.socket([family[, type[, proto]]])
例項(服務端和客戶端聊天)

我們使用 socket 模組的 socket 函式來建立乙個 socket 物件

先建立乙個服務端

import socket

#建立服務套接字 serversocket

ss =socket.socket(socket.af_inet,socket.sock_stream)

print("建立服務套接字")

#服務套接字繫結主機,繫結埠號

ss.bind(("localhost",9999))

print("繫結埠和主機")

ss.listen(5)#限制訪問人數

print("開始等待客戶請求")

c=ss.accept();

print("某個客戶連線到我了")

while true:

msg=c[0].recv(1024)

print(msg.decode())

接下來我們寫乙個簡單的客戶端例項連線到以上建立的服務。

客戶端

import socket

import sys

# 建立 socket 物件

s = socket.socket(socket.af_inet, socket.sock_stream)

# 獲取本地主機名

host = socket.gethostname()

# 設定埠好

port = 9999

# 連線服務,指定主機和埠

s.connect((host, port))

# 接收小於 1024 位元組的資料

msg = s.recv(1024)

s.close()

print (msg.decode('utf-8'))

然後執行服務端檔案和客戶端檔案可以互相傳送資料。

Python學習 Socket程式設計

應用程式兩端通過 套接字 向網路發出請求或者應答網路請求。可以把socket理解為通訊的把手 hand 是乙個介面,封裝了大量方法 socket起源於unix,在unix一切皆檔案哲學的思想下,socket是一種 開啟 讀 寫 關閉 模式的實現,伺服器和客戶端各自維護乙個 檔案 在建立連線開啟後,可...

Python學習 socket基礎

socket為介面通道,內部封裝了ip位址 埠 協議等資訊 我們可以看作是以前的通過 機撥號上網的年代,socket即為 線 我們通過下面的圖來了解socket的通訊流程 流程描述 1 伺服器根據位址型別 ipv4,ipv6 socket型別 協議建立socket 2 伺服器為socket繫結ip位...

python學習筆記 socket程式設計

上篇 socket程式設計 什麼是socket?簡稱套接字,是程序間通訊的一種方式,它與其他程序間通訊的乙個主要不同是 它能實現不同主機 間的程序間通訊,我們網路上各種各樣的服務大多數是基於socket來完成通訊的。socket是基於c s架構的,也就是說socket網路程式設計,通常需要寫兩個檔案...