1. 程式人生 > >python編程之socket編程基礎

python編程之socket編程基礎

strong rec pytho ram 創建 close recv xpl 通信

python socket編程,首先需要import socket模塊

首先創建一個socket對象

expl = socket.socket(socket.AF_INET,socket.SOCK_STREAM); 

其中第一個參數通常為以下

1、socket.AF_INET 通常指IP地址, 2、socket.AF_UNIX 通常指本地域套接字通信。

第二個參數

1、socket.SOCK_STREAM 流式套接字(TCP), 2、socket.SOCK_DGRAM 數據報套接字(UDP)

綁定指定的ip和端口

sock.bind(address);

參數:

前面創建的socket使用AF_INET類型,這裏的地址address是一個雙元素元組。

address的格式為(host,port),host為主機IP,port為端口。

比如:

sock.bind(("172.25.81.16",33306));

設置監聽隊列的大小:

sock.listen(backlog);

參數:

backlog是用來設置連接隊列的大小,最小值為1。

比如:

sock.listen(10);

接收客戶端連接:

connect,address = sock.accept();

返回值:

connect是和客戶端建立的連接,後續通信就依靠它來完成,buf=connect.recv(len)或connect.send(buf)等。

address是客戶端的地址信息,格式為(host,port)

接收和發送消息:

接收:

buf = connect.recv(len);

返回值:

接收到的消息內容;

接收長度len;

例如:

buf = connect.recv(1024);

發送:

buf="hello world";

connect.send(buf);

鏈接到服務器:

sock.connect(address);

參數:

address服務器端的地址,格式為(host,ip)。

例如:

sock.connect((192.168.1.1,8080));

關閉連接:

sock.close();

python編程之socket編程基礎