2009-09-12 264 views
1

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

对不起,这可能是如此明显。

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

回答

1

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

对于.NET,您可能需要System.Net.Sockets.Socket(而且它是绑定/监听/接受/发送/接收方法)而不是本机WinSock,但概念相同,因此我将保留所有链接。

+0

我忘了提,这是在vb.net的方式。 – Cyclone 2009-09-12 20:40:00

+0

然后它不应该被标记为WinSock的问题。我已经添加了.NET套接字来回答。 – 2009-09-12 20:55:13

+0

好吧,我想我只是困惑大声笑。谢谢您的帮助! – Cyclone 2009-09-12 21:07:31

1

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

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

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

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