如果将clientSocket和serverSocket都更改为“mySocket”会发生什么?
客户端是否可以在不知道服务器的IP地址和/或端口号的情况下向服务器发送段?
多个客户端可以使用服务器吗?
从我的笔记,第20页:http://www.cs.ucc.ie/~cjs/teach/cs2505/02-app-layer-b.pdf。有点与这些混淆。
我假设如果你将client和serverSocket都更改为mySocket,那么什么都不会发生,因为它只会是一个变量名更改(我假设)。
我认为客户端无法在不知道IP地址/端口号的情况下发送消息?
多个客户端无法使用服务器,因为这需要线程化?
答案 0 :(得分:3)
(1)由于除了问题中的问题之外我没有看到对mySocket的引用,我会说你的回答是正确的。
(2)地址/端口显然是必要的。然而,这可能是一个棘手的问题,因为客户端可以在套接字上调用connect()。使用UDP,connect()内核会跟踪调用中作为套接字对等方传递的地址。然后套接字可以只调用write()或send()而不必使用sendto()。尽管如此,调用connect仍然需要首先使用地址/端口,以便知道他们得到了什么。
(3)UDP中没有“连接”。许多客户端可以发送到服务器。服务器可以从其recvfrom获取各个客户端的地址,然后转向并在其sendto中使用该地址。