我是否需要服务器才能与套接字一起工作?我是否可以直接向其他客户端发送数据包并接收它,而这两台主机都不是服务器?
发布于 2012-07-04 04:56:21
是的,你可以做到。即使是在同一台电脑上。只需确保它们使用相同的端口,并且客户端尝试连接到localhost。我经常使用这种技术来测试我的网络应用程序。
发布于 2012-07-04 04:50:15
任何两台计算机都可以通话,但其中一台必须是服务器,另一台必须是客户端。他们可以交换角色,每个角色都可以是另一个的对立面。
发布于 2012-07-04 06:09:54
套接字编程中的客户机/服务器区别并不像听起来那么具体。基本上,这与两台机器连接的方式有关。
服务器使用bind、listen和accept不断等待传入的连接。客户端必须知道服务器的IP地址。这就是URL和DNS存在的原因,它们提供了一个易于记忆的名称,可以映射到服务器的IP地址。
一旦客户机被服务器connect()和accept()了,差别就很大了。客户端和服务器可以随时使用send()和recv()字节,并且对数据没有任何限制。
任何计算机都可以是服务器。您可以有一台386笔记本电脑作为服务器,一台全新的双至强机架式计算机作为客户端。
https://stackoverflow.com/questions/11318932
复制相似问题