套接字与套接字编程
一、套接字
端口:标记不同的网络进程;使用16位比特位表示。
{ IP : Port} ----- 来表示某一主机的具体进程是什么 ---- 套接字(socket)
套接字:是抽象概念,表示TCP连接的一端;通过套接字可以进行数据的发送或接收
TCP连接由两个套接字组成:
TCP = { Socket1 : Socket2 }
= {{ IP:Port } { IP:Port }}
一个IP可以有多个套接字。
套接字编程:
二、套接字编程
服务端(被动连接的一方) 客户端(主动连接的一方)
// 服务端 import socket def server(): # 创建socket s = socket.socket() host = "127.0.0.1" port = 6666 # 绑定套接字 s.bind((host, port)) # 监听 s.listen(5) while True: c, addr = s.accept() print("Connect Addr:", addr) c.send("Welcome to my course.") c.close() if __name__ = '__main__': server()
// 客户端 import socket def client(i): # 创建套接字 s = socket.socket() # 连接套接字 s.connect(('127.0.0.1', 6666)) print('Recv msg: %s, Client: %d', %(s.recv(1024), i)) s.close() if __name__ == '__main__': for i in range(10): client(i)