2014-02-24 29 views
0

显然,客户端可以通过两种方式访问​​客户端计算机中的端口。到目前为止我只找到一个。TCP客户端可以通过两种方式访问​​客户端机器中的端口?

问题:

当客户希望将消息发送到使用TCP服务器,就必须建立一个特定的端口和IP地址的连接。它必须在客户端使用套接字和端口来传输数据。讨论两种方式客户端可能访问客户端计算机中的端口。

我读过维基百科和一些其他网站,它看起来像只有一种方式TCP连接到端口?我不理解这个问题吗?

+1

你最好向谁提出问题的澄清。猜测这个问题的含义一般不在SO的范围内。 –

+1

请注意,该问题询问有关**客户端**而不是**服务器**上的端口。 –

+0

并注意它说'访问',而不是'连接'。 – EJP

回答

0

有2种类型来自客户机的TCP/IP协议的网络通信到服务器(或其它客户端)

  1. TCP协议
  2. UDP协议

主要之间的差异那两个是; TCP协议的工作方式就像您所描述的那样:客户端应尝试打开特定端口上的连接到IP地址,并且远程端应该正确接受连接,以便开始通过套接字发送和接收数据。但是UDP协议不需要打开(建立)一个点到点的连接。它允许您随时发送任何数据,除了有效的IP地址和端口号以外,没有任何其他条件。

请注意,在谈论UDP协议时,与TCP不同,您不能保证您的数据(实际称为“数据包”)已成功发送或根本不发送到远程地址。你永远不会知道这一点。并且只建议少量的数据包。数据包越大意味着正确传输的变化越小。

+0

最接近我认为我的导师想要的东西。格拉西亚斯。 – user106857

+0

@ user106857我对此表示怀疑。在这个问题中没有提到UDP。这是关于“访问客户端机器中的端口”,而不是关于这一点。 – EJP

1

“的方式在客户端可能会访问端口在客户端机器”:

  1. 指定一个特定的端口,并使用bind()系统调用。
  2. 指定端口零并呼叫bind().系统将分配一个客户端端口。
  3. 根本不要拨打bind()。该系统将重新分配客户端端口connect().

不要问我两个你的老师希望,或是他想别的东西完全,但是这是我会怎么回答这个问题。除非这比它更多,否则它确实很糟糕。