【问题标题】:Can the same socket be used for server and client?服务器和客户端可以使用同一个套接字吗?
【发布时间】:2010-04-09 10:47:39
【问题描述】:

我在 PIC 控制器中放置了一个 TCP 服务器和客户端代码。现在只想知道,同一台设备可以同时运行客户端和服务器吗?如果可能的话,我们可以在 TCP 堆栈上为服务器和客户端使用相同的套接字吗?

【问题讨论】:

  • 客户端和服务器是什么意思? TCP 堆栈只处理套接字。只要您的协议处理它,您就可以将相同的套接字用于您想要的任何东西。
  • 另外,您是否混淆了 portssockets

标签: sockets client-server


【解决方案1】:

您关于使用相同套接字的问题实际上没有任何意义,因为大概客户端和服务器是独立的进程,因此它们不能共享完全相同的套接字。对于服务器,您通常创建一个套接字,然后将其bind 连接到特定端口,然后进行accept 连接。对于客户端,您创建一个套接字,并将connect 指向指定地址(用于 TCP/IP 连接的 IP 地址和端口对)。

同一设备可以同时运行 TCP 服务器和客户端。您可以启动服务器监听特定端口,然后将客户端连接到同一端口,两个程序将相互通信。

【讨论】:

    猜你喜欢
    • 2014-06-24
    • 1970-01-01
    • 1970-01-01
    • 2012-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-06
    相关资源
    最近更新 更多