0

我需要有一台服务器才能使用套接字吗?我可以直接将数据包发送到其他客户端并在主机都不是服务器的情况下接收它吗?

4

3 回答 3

0

任何两台计算机都可以通信,但一台必须是服务器,另一台必须是客户端。他们可以互换角色,并且每个角色都可以相反。

于 2012-07-03T20:50:15.307 回答
0

是的,你可以这样做。即使在同一台计算机上。只要确保他们使用相同的端口并且客户端尝试连接到 localhost。我定期使用这种技术来测试我的网络应用程序。

于 2012-07-03T20:56:21.170 回答
0

套接字编程中客户端/服务器的区别并不像听起来那么具体。基本上它与两台机器的连接方式有关。

服务器使用bindlistenaccept来不断等待传入的连接。客户端必须知道服务器的 IP 地址。这就是 URL 和 DNS 存在的原因,以提供映射到服务器 IP 地址的易于记忆的名称。

一旦客户端connect()s 和accept()由服务器编辑,差异就差不多结束了。send()客户端和服务器都可以根据需要随时recv()读取字节,并且对数据没有限制。

任何计算机都可以是服务器。您可以将 386 笔记本电脑作为服务器,将全新的双 Xeon 机架机器作为客户端。

于 2012-07-03T22:09:53.943 回答