1. 程式人生 > >Python 簡單socket

Python 簡單socket

type add 地址 cnblogs list recv logs 綁定 響應

OSI七層模型(Open System Interconnection,開放式系統互聯)

應用層
表示層
回話層
傳輸層     tcp,udp
網絡層     ip,icmp
數據鏈路層  mac地址
物理層     物理網卡

  

服務端:

import socket


#實例化,綁定,監聽,等待,解構(標識,ip-port),接收,回應,關閉
server = socket.socket()

server.bind((‘localhost‘,6969))
server.listen()
print(‘開始監聽...‘)

conn,addr = server.accept()
print(conn,addr)

data = conn.recv(1024)
print(‘服務端接收到數據:‘,data.decode())

conn.send(‘Hi, i am the server.‘.encode())

server.close()

  

客戶端:

import socket


#實例化,連接,發送,接收回應,關閉
client = socket.socket()

client.connect((‘localhost‘,6969))

client.send(‘Hi,i am the client.‘.encode())
print(‘發送數據...‘)

data = client.recv(1024)
print(‘客戶端接收到數據:‘,data.decode())

client.close()

  

1. 先運行服務端,監聽端口,開始等待傳入數據:

開始監聽...

2. 啟動客戶端,發送數據,接收響應:

發送數據...
客戶端接收到數據: Hi, i am the server.

  

3. 回到服務端,查看接收到的數據:

開始監聽...
<socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=(‘127.0.0.1‘, 6969), raddr=(‘127.0.0.1‘, 55149)> (‘127.0.0.1‘, 55149)
接收到的數據: Hi,i am the client.

  

Python 簡單socket