我正在做作业,我的教授说我需要在UDP上建立连接,我不明白为什么要这样做,因为我认为UDP不需要建立连接。
另外,当客户端从服务器接收到所有数据时,我需要断开连接。然后我需要重新连接以再次向服务器发送数据。
我正在使用python,我想知道我是否写这样的代码
客户端
client.close() //is it right to disconnect?
client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) // is it right to reconnect?
我走的方向对吗?
你是对的,UDP没有正常意义上的连接,所以很难知道你的教授到底想要什么。因此,最好的做法是直接问他们。
但是如果让我猜的话,他们要么想让你:
- 在套接字或 上调用
- 建立某种"逻辑">
connect()
在UDP套接字上调用connect()
并不做任何实际的I/O,但它确实告诉套接字目的地是谁。这允许您使用send()
而不是sendto()
发送数据。
如果您的profine选项(2),那么它可能只是关于在两个端点之间进行信息交换。因此,尽管在协议层没有连接,但两个端点相互通信,因此连接。