【问题标题】:Internet socket programming in c++ explanation needed需要 C++ 中的 Internet 套接字编程解释
【发布时间】:2017-01-17 02:38:48
【问题描述】:

我有两台计算机,我在它们之间创建了一个网络,一台是服务器(Windows Server OS)和客户端(Windows 10)。两台计算机还通过 wifi 连接到互联网。要连接两个系统,我正在使用以太网电缆

我想知道我是否在 C++ 中为客户端创建了一个使用 Internet 套接字发送数据包的程序。我是否也应该在服务器上创建一个侦听器。我应该使用端口 80 发送数据包并使用服务器上的同一端口来监听到达的数据包吗?

【问题讨论】:

  • tcp 是面向连接的,因此客户端可以将数据包发送回同一个套接字。
  • 这个问题不清楚,因为你没有解释你想要完成什么。你想让我做什么?您可以创建一个使用 Internet 套接字随机发送数据包的客户端。您期望响应这些数据包会发生什么?如果你将它们送入虚无,希望来自另一个星球的外星人会做出回应,你不需要倾听者。如果您希望另一台计算机做出反应,则需要有一些东西来接收这些数据包。
  • 我喜欢将二进制数据从服务器发送到客户端,并将文本数据从客户端发送到服务器。
  • 你应该创建监听器吗?并不真地 !!您可以创建只发送数据包的客户端(例如流量生成器)您到底想做什么?顺便说一句,80 端口是为 http 保留的!
  • 请勿在 cmets 中回复以告诉我们您的意图。取而代之的是edit 这个问题并更清楚地说明您的要求,并且比说我喜欢做某事 付出更多的努力。 具体你要问什么。

标签: c++ sockets packets


【解决方案1】:

假设你决定使用 TCP,那么:

我也应该在服务器上创建一个监听器吗?

如果您使用的是面向连接的协议(例如 TCP),那么您必须在一端进行侦听,否则您将无法创建 TCP 连接。

我应该使用端口 80 发送数据包并使用服务器上的同一端口来监听到达的数据包吗?

你应该使用你想要的任何端口号,只要其他东西没有使用它。只要服务器和客户端同意,实际数量无关紧要。 有效端口号的范围是 1 到 65535。

【讨论】:

  • 如果你的假设是错误的?这个问题缺乏细节,回答它(正确与否)是没有用的。如果您的猜测是正确的,那么发布者没有理由进行编辑以改进它,因为他们有答案。如果猜测是错误的,那么答案对未来的读者没有用处。回答模糊的问题对任何人都没有好处。投票结束,直到进行编辑以澄清问题。
  • @KenWhite 如果您不希望人们回答不详细的问题,请投票支持 Meta 以停止奖励人们。
  • 我投票不通过在此处否决您的回答来奖励人们这样做。 Meta与它无关;用糟糕的答案来回答糟糕的问题是没有用的,这样做只是为了获得无用的接受投票,这只不过是为了迎合声誉。当发布者失去在这里提问的权限时,您通过这样做获得的代表最终将被删除。查看该用户的个人资料,了解其他已提出的低质量问题的示例。
  • 你错了。 StackOverflow 从一开始就是关于对好的问题和答案投赞成票,对差的问题和答案投反对票,以及有经验的用户会调节两者的质量。实际上,您在不了解这种差异的情况下获得了代表,这实际上是非常令人惊奇的。我确实知道那些决定选择声誉而不是质量的发布者对自己的利益比对网站的意图更感兴趣。我知道那些觉得有必要说 12.5 次反对以反对一个赞成并接受之类的话的人不知道这个网站的全部内容。 + 给你,-1 给网站。
  • 对于那些发布低质量问题的人来说,接受第一个写答案的人的答案并不罕见。不要伤害自己拍拍自己的背。为没有能力写出清晰帖子的人接受而感到自豪,除了你自己,不会给任何人留下深刻印象。
猜你喜欢
  • 2018-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多