C#:简单的TCP服务器问题

时间:2009-04-23 18:56:10

标签: c# tcp winsock

我试图在我用来监听连接的套接字上发送一个数据包 - 当然我失败了。

我记得我在pascal编码的那些日子里我还应该发送另一个套接字,它是在“接受”之后收到的。

好吧,如果这是正确的,那么这是我的问题:

我在TCP服务器(C#)中使用WSAAsyncSelect()

protected override void WndProc(ref Message m)
    {
        switch (m.Msg)
        {

            case Values.MESSAGE_ASYNC:
                switch (m.LParam.ToInt32())
                {
                    case Values.FD_ACCEPT:
                        WS2.Accept();
                        break;

                    case Values.FD_READ:
                        WS2.Receive();
                        break;
                    case Values.FD_CLOSE:
                        WS2.Close();
                        break;
                }
                break;

            default:
                base.WndProc(ref m);
                break;
        }
    }

我必须在连接时向客户端发送数据包。

如何获取我必须将数据包发送到该客户端的套接字?

我没有调用Accept(),因为我不知道在C#中应该怎么做,一直在搜索示例,但是没有一个使用旧的WSAAsyncSelect()。

请提供一个示例,说明应该如何完成。

提前致谢!

1 个答案:

答案 0 :(得分:2)

看看TcpListener。将语言限制为C#以摆脱非C#示例。

相关问题