python基础-socket通信

socket是一种双向通信的起点和重点,氛围服务器端和客户端

Socket服务器端用到的方法有

MethodDescription
s.bind() This method binds address (hostname, port number pair) to socket.
s.listen() This method sets up and start TCP listener.
s.accept() This passively accept TCP client connection, waiting until connection arrives (blocking).

Socket客户端用到的方法有

MethodDescription
s.connect() This method actively initiates TCP server connection.

Socket通用方法有

MethodDescription
s.recv() This method receives TCP message
s.send() This method transmits TCP message
s.recvfrom() This method receives UDP message
s.sendto() This method transmits UDP message
s.close() This method closes socket
socket.gethostname() Returns the hostname.

 

下面为一个简单的socket通信的例子,包括了一个socket服务器端监听本地服务器的某一个端口,一个socket的客户端向服务器端发送请求。服务器端接收到请求之后会返回一个消息

 

socket服务器端

创建了一个简单的socket,绑定在本地服务器的端口上对外提供服务。监听到请求的时候会做出响应

s.listen表示启动监听,监听队列数为5

 1 import socket
 2 
 3 #create a socket object,and bind it to the port
 4 s=socket.socket()
 5 host = socket.gethostname()
 6 port = 12345
 7 s.bind((host,port))
 8 
 9 s.listen(5)
10 
11 while True:
12     c,addr = s.accept()
13     print Got connectoion from,addr
14     c.send(thank you from connecting)
15     c.close()

 

socket客户端

import socket

s=socket.socket()
host = socket.gethostname()
port = 12345

s.connect((host,port))
print s.recv(1024)
s.close()

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。