【问题标题】:How to make a winsock listen on a particular port?如何让winsock监听特定端口?
【发布时间】:2009-09-12 20:11:25
【问题描述】:

这一定很明显,但是如何让winsock监听特定端口(接收数据?)我找不到让我这样做的方法!

抱歉,这可能太明显了。

我正在尝试制作一个聊天应用程序,它显然是在服务器/客户端设置中运行的。

【问题讨论】:

    标签: vb.net sockets ports


    【解决方案1】:

    bind 套接字,然后是 listenaccept 连接。在Getting started with WinSock 中有更详细的描述。 BSD 套接字还有一个good guide,您也应该阅读它。

    对于 .NET,您可能需要 System.Net.Sockets.Socket(它是 Bind/Listen/Accept/Send/Receive 方法)而不是本机 WinSock,但概念是相同的,所以我将保留所有链接。

    【讨论】:

    • 我忘了说,这是在vb.net。
    • 那么它不应该被标记为 WinSock 问题。我添加了 .NET 套接字来回答。
    【解决方案2】:

    使用 TCP 套接字时,您绑定、侦听和接受并最终接收。您可以通过here 找到一些教程或查看官方 MSDN 文档。

    winsock API 基于 UNIX 的 BSD 套接字;所以它们非常相似。你可能想调查一下。我最近读的一本书是 Richard Stevens 的 UNIX Network Programming,他解释了几乎所有关于套接字的知识。

    您也可以考虑在单独的线程中运行套接字以提高可读性和性能。

    编辑:至于监听特定端口;这是 SOCKADDR_IN 结构的 sin.port 参数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-29
      • 2015-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-18
      • 2011-06-28
      • 2011-09-14
      相关资源
      最近更新 更多