- import socket server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)#ipv4,
- tcp#Socket Families(地址簇)#socket.AF_UNIX unix本机进程间通信#socket.AF_INETIPV4#socket.AF_INET6 IPV6#Socket Types#socket.SOCK_STREAM#
- for tcp#socket.SOCK_DGRAM#
- for udp#socket.SOCK_RAW#原始套接字,普通的套接字无法处理ICMP、IGMP等网络报文,而SOCK_RAW可以;#其次,SOCK_RAW也可以处理特殊的IPv4报文;此外,利用原始套接字,可以通过IP_HDRINCL套接字选项由用户构造IP头。#socket.SOCK_RDM#是一种可靠的UDP形式,即保证交付数据报但不保证顺序。SOCK_RAM用来提供对原始协议的低级访问,#在需要执行某些特殊操作时使用,如发送ICMP报文。SOCK_RAM通常仅限于高级用户或管理员运行的程序使用。
- server.bind(("0.0.0.0", 8000))#绑定ip,
- 端口server.listen(5)#监听5个print("-----------------start to listen.....") conn,
- client_addr = server.accept()#等待conn链接的标记位;client_addr的链接地址#conn就是客户端链接过来而在服务器端为其生成的一个连接实例#print(conn, client_addr) while True: data = conn.recv(1024) print("recv from cli:", data.decode()) conn.send("got your mes".encode()) server.close()
来源: http://www.bubuko.com/infodetail-1857931.html