基于文件型(AF_UNIX):可以用来同一台机器的两个程序通信,都是基于底层文件系统工作的,文件作为介质
基于网络型(AF_INET)


import socket phone=socket.socket(socket.AF_INET,socket.SOCK_STREAM) phone.bind(('192.168.1.6',8001)) phone.listen(5) print('------>') conn,addr=phone.accept() msg=conn.recv(1024) print('来自客户端的消息',msg.decode('utf-8')) conn.send('你也好'.encode('utf-8')) conn.close() phone.close()


import socket phone=socket.socket(socket.AF_INET,socket.SOCK_STREAM) phone.connect(('192.168.1.6',8001)) phone.send('你好'.encode('utf-8')) data=phone.recv(1024) print('来自服务端的消息',data.decode('utf-8'))
基于tcp协议的套接字编程
中文名:套接字,英文名:socket
收发消息是基于二进制,socket通信基于网络,只识别二进制
不能把文件名命名socket
端口只能使用一次是因为还没被清除掉
backlog是半链接池,用来放不完整的链接