TCP与UDP的区别:
TCP传输控制协议(稳定)(慢一些) UDP用户数据包协议(不稳定)(快一些)
TCP有三次握手,a给b请求数据,b发送请求确认并发送一个数据包,a收到数据包再发送确认消息给b
UDP不管是否发到,只是一直在发送
多个电脑间进程通信的方式:
socket套接字
每创建一个套接字就会动态分配一个端口,每次运行端口都不同
一般接收方端口绑定,发送方不做要求
from socket import *
udp_socket=socket(AF_INET,SOCK_DGRAM)
UDP广播
...
dest=(<'broadcast'>,7788)
s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
s.setsockopt(socket.SOL_SOCKET,socket.SO_BROADCAST,1)
...
TCP创建服务器
from socket import *
tcp_socket = socket(AF_INET,SOCK_STREAM)
tcp_socket.bind(("",7788))
tcp_socket.listen(5)
# 在连接之前,这里会阻塞
sock,ip = tcp_socket.accept()
# 在收到数据之前,这里会阻塞
recv_data = sock.recv(1024)
tcp_socket.close()
recv_data.close()
TCP客户端连接服务器
from socket import *
client_socket = socket(AF_INET,SOCK_STREAM)
addr=("192.168.209.100",8080)
client_socket.connect(addr)
client_socket.send("hello".encode("gb2312"))
msg = client_socket.recv(1024)
print(msg)
client_socket.close()