python基础学习-socket1 初识socket

Socket Families (地址簇)

socket.AF_UNIX #unix本机进程之间通信
socket.AF_INET #ipv4
socket.AF_INET6 #ipv6

Socket Types(socket 类型)
socket.SOCK_STREAM #for tcp
socket.SOCK_DGRAM #for udp
socket.SOCK_RAW #原始套接字,普通的套接字无法处理ICMP,IGMP等网络报文、
而SOCK_RAW 可以,也可以处理特殊的IPV4报文,也可以通过IP_HDRINCL套接字选项由用户构造IP

socket.SOCK_RDM #是一种可靠的udp形式,即保证交付数据报,但不保证顺序,仅限高级用户或管理员运行的程序使用
客户端
import socket
client = socket.socket() #声明socket类型,同时生成socket链接对象
client.connect(('127.0.0.1',80)) # 建立连接
client.send("hello") #发送数据
data = client.recv(1024)#接收返回数据,参数1024表示最大接收1024字节
client.close() #关闭连接

服务器端
import socket
server = socket.socket() #声明socket对象
server.bind(('localhost',8080)) #绑定要监听的端口
server.listen() #开始监听绑定的端口
conn,addr = server.accept() #等待客户端的连接,
#conn表示客户端连接过来而在服务器端为其生成的一个连接实例,addr表示客户段的地址元祖(‘127.0.0.1’,3000
data = conn.recv(1024)#接收数据
conn.send(data) #发送数据
server.close()
posted @ 2017-12-12 11:29  uyahs  阅读(135)  评论(0编辑  收藏  举报