首页 / 操作系统 / Linux / Python之Socket编程学习笔记
1.面向连接方式和无连接方式面向连接方式,在通信发生之前先建立起一个连接,类似打电话,使用虚拟线路类型的套接字,实现这种连接方式的基本协议是传输控制协议(Transmission Control Protocol, TCP)。这种通信方式又叫做“虚拟线路”或”流式套接字“。代码如下:tcpSocket=socket(AF_INET,SOCK_STREAM)无连接方式,在通信开始前不用建立连接,类似邮递,使用数据图类型的套接字,实现这种连接方式的基本协议是用户数据图协议(User Datagram Protocol, UDP)。代码如下:udpSocket=socket(AF_INET,SOCK_DGRAM)2.TCP服务器端代码from socket import *print "***** Now starting server *****"
Host=""
Port=12306
Buffsize=1024
Addr=(Host,Port)ServerSocket=socket(AF_INET,SOCK_STREAM) #初始化一个TCP套接字
print "* Initing connection..."
ServerSocket.bind(Addr) #绑定到地址绑定到套接字上
ServerSocket.listen(5) #设置和启动TCP监听程序,参数指定最多允许多少个客户连接到服务器
print "* Connection inited..."while True:
print "* Now waiting for connection...
"
ClientSocket,addr=ServerSocket.accept() #接受客户连接(阻断)
print "* Connected from",addr
ClientSocket.send("Server: Connect successfully")
while True:
data=ClientSocket.recv(Buffsize) #接受TCP消息
print "* Client: ",data
if data == "quit":
print "
* Client ",addr," disconnected"
break
ClientSocket.send("Server: Message[ %s ] send successfully" % data)
#返回信息给客户端
ClientSocket.close()
ServerSocket.close()