python socket 網路程式設計

2022-01-31 22:25:12 字數 2122 閱讀 7380

socket 套接字:網路介面。

我們在網路上需要傳輸自己需要的資料,我們在網路上傳輸資料使用的是網路協議,

而套接字就是我們將資料從本地採用協議傳輸的介面

socket模型:

socket族:

#af_unix 被使用在類unix系統之間進行通訊的socket族

#af_inet 被使用在網路間的通訊的socket族

#af_inet6 被使用在ipv6協議上的socket族

socket型別:

#sock_stream 針對於tcp/ip協議的socket型別

#sock_dgram 針對udp協議的socket型別

一、第乙個socket例子:

#socket_server

import socket

sock=socket.socket(socket.af_inet,socket.sock_stream)   #建立socket物件

sock.bind(("127.0.0.1",8001))                        #繫結套接字

sock.listen(5)                                            #監聽 ,連線等待的佇列大小

conn,add=sock.accept()                  #  conn : 客戶端的socket物件 # add: ('127.0.0.1', 34548)

print(conn.recv(512))                  #接收資訊

conn.send("hello i am server".encode("utf-8"))     #傳送資訊

sock.close()            #關閉連線

#socket_client

import socket

sock=socket.socket(socket.af_inet,socket.sock_stream)          #建立socket物件

sock.connect(("127.0.0.1",8001))                                #連線指定服務

sock.send("i am client".encode("utf-8"))        #傳送資訊

print(sock.recv(512))                 #列印接收到資訊

sock.close()        #關閉連線

eg1:

#server

import socket

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

sock.bind(("127.0.0.1",8006))

sock.listen(5)

while true:

conn,add=sock.accept()

while true:

recvs = conn.recv(512)

print(recvs)

if recvs == "break":

break

sends = raw_input(">>>>")

conn.send(sends)

if sends == "break":

break

sock.close()

#client

import socket

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

sock.connect(("127.0.0.1",8006))

while true:

sends = raw_input(">>>>")

sock.send(sends)

recvs = sock.recv(512)

print(recvs)

if recvs == "break":

break

sock.close()

Python Socket 網路程式設計

socket 是程序間通訊的一種方式,它與其他程序間通訊的乙個主要不同是 它能實現不同主機間的程序間通訊,我們網路上各種各樣的服務大多都是基於 socket 來完成通訊的,例如我們每天瀏覽網頁 qq 聊天 收發 email 等等。要解決網路上兩台主機之間的程序通訊問題,首先要唯一標識該程序,在 tc...

python socket網路程式設計

s.getsockname 獲得本地機器的ip和埠號 埠號由作業系統隨機分配,每次都不一樣 17 print conneted to s.getpeername 獲得連線機器的ip和埠號 結果如下 creating socketdone looking up port number.80doneco...

Python socket網路程式設計

socket簡單介紹 author xuefeng ipconfig all 檢視ip位址與mac 物理 位址 import socket socket family 位址簇 socket.af unix 本機兩個程序之間進行通訊 socket.af inet ipv4 socket.af inet...