Socket
Socket又称”套接字”,应用程序通常通过”套接字”向网络发出请求或者应答网络请求。 具体定义看百科
socket有两种,一种基于UDP,一种基于TCP。UDP是面向非连接的,传递的是数据报,每次传递都要指定目的地址端口;而TCP是面向连接的,经过三次握手协议建立起连接,所以不用每次都指定目的地址端口。当然还有很多的区别,这里就不一一列举。
一般服务器端和客户端各有一个socket,你可以将它看成是一个网络接口,将你的请求转化成底层数据,把收到的数据转化成高级的数据对象。
在Python中用于socket编程的包是socket
,这是一个自带的包。
UDP socket
UDP Server端
#coding=utf-8
import socket
import time
HOST = 'localhost' #主机,因为是本机所以是localhost,或者127.0.0.1也可以
BUFFSIZE = 1024 #每次读取数据的缓存区大小
PORT = 8802 #端口,也就是客户端要连接的端口
ADDR = (HOST,PORT) #将主机地址和端口组成一个tuple形式的地址
UDPSerSocket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
UDPSerSocket.bind(ADDR)
print('waiting for connect...')
while True:
data,addr = UDPSerSocket.recvfrom(BUFFSIZE)
print 'Received',data,'from',addr,'in [%s]'%time.ctime()
UDPSerSocket.sendto('[%s]:%s'%(time.ctime(),da