【问题标题】:Is socket unique?套接字是唯一的吗?
【发布时间】:2014-11-05 11:25:09
【问题描述】:

Winapi SOCKET 是 32 位整数或 64 位整数(取决于 Windows),所以我想将它用作客户端的 ID(在客户端 - 服务器应用程序中)。我的问题 - 以整数为基础的套接字是唯一的整数值吗?

【问题讨论】:

  • 仅在服务器端恕我直言。您不应该对客户端产生任何影响。
  • 怎么可能不是独一无二的呢?如果存在重复,则操作系统无法区分不同的套接字(在单个进程中)。你也不能。
  • 完全不清楚你的意思。你所说的独特是指只出现在世界上的那个地方吗?或者在那个过程中?那一刻?在整个过程的生命周期内?

标签: c++ sockets winapi


【解决方案1】:

我的问题 - 以整数形式转换的套接字是唯一的整数值吗?

它对于它运行的进程来说是独一无二的。

但是,您需要考虑同一客户端可能向您打开多个连接的可能性。可能您正在寻找getpeername()

【讨论】:

  • 我会将它用作服务器端的客户端 ID(用于连接的客户端)。所以我只需要服务器进程的唯一性。我认为在整数上转换的套接字足以识别用户。感谢您的回答。
  • 仅当每个客户端 IP 地址只有一个用户和一个连接时。
猜你喜欢
  • 2015-03-17
  • 2014-06-18
  • 1970-01-01
  • 2017-11-13
  • 1970-01-01
  • 1970-01-01
  • 2016-08-22
  • 1970-01-01
  • 2021-11-22
相关资源
最近更新 更多