python2.7
socket套接字在工作時將連線的對端分為伺服器server和客戶端client。伺服器和客戶端的通訊模型如下:
伺服器和客戶端的通訊過程如下:
引數
family: 套接字家族可以使af_unix或者af_inet
type: 套接字型別可以根據是面向連線的還是非連線分為sock_stream或sock_dgram
protocol: 一般不填預設為0.
1)af_unix位址族中使用的是乙個簡單的字串2)af_inet位址族中使用的是(host,port)位址對,其中host為主機名、ip位址或url,port為乙個整數;
3)af_inet6位址族中用四元組(host,port,flowinfo,scopeid)表示。
# -*- coding:utf-8 -*-
import socket
__doc__ = ""
"簡單伺服器"
""if __name__ == '__main__':
s = socket.socket(socket.af_inet, socket.sock_stream) #生成socket物件
host = socket.gethostname() #繫結伺服器位址
port = 1234
s.bind((host, port))
s.listen(10) #開始偵聽
while true:
c, addr = s.accept() #等待與客戶端建立連線
print
"get connection from %s"
%str(addr)
c.send("服務端返回內容")
c.close() #關閉與當前客戶端的連線
# -*- coding:utf-8 -*-
import socket
__doc__ = ""
"客戶端"
""if __name__ == '__main__':
s = socket.socket()
host = "panshan-pc"
port = 1234
s.connect((host, port))
content = ""
line = s.recv(8)
while line:
content += line
line = s.recv(8)
print content
s.close()
python的socket程式設計
coding utf 8 from socket import host 127.0.0.1 port 44444 建立socket物件 client socket af inet,sock stream af inet表示將使用標準的ipv4位址或主機名 sock stream說明這是乙個tcp客...
python的socket程式設計
socket主要用於長連線 簡單demo server端 import socket server socket.socket socket.af inet,socket.sock stream server.bind 0.0.0.0 8000 server.listen sock,addr ser...
C語言SOCKET學習
常見的兩種套接字型別 sock stream tcp 流格式套接字 sock dgram udp 資料報套接字 基礎知識 struct sockaddr 基本不用 af inet是 ipv4 網路協議的套接字型別,af inet6 則是 ipv6 的 而 af unix 則是 unix 系統本地通訊...