beginreceive

    1热度

    1回答

    我需要在总线上进行异步消息传递。 这是我使用的代码: //set callback to get the message MessageReceiver messageReceiver = MessagingFactory.CreateMessageReceiver(BaseTopicName + "/subscriptions/" + addressee, ReceiveM

    1热度

    1回答

    当你用插座IO使用BeginReceive/EndReceive处理,回调是由IOCP线程调用。 一旦你完成接收你需要处理的数据。 你应该在回调的调用线程上执行它吗? 或者你应该运行使用ThreadPool.QueueUserWorkItem 通常样本任务做回调线,这是一个有点混乱的工作。 如果你正在处理几百个活动的连接,该IOCP线程上运行的处理与数百个线程的处理结束。 ThreadPool会帮

    8热度

    5回答

    使用UdpClient.BeginReceive我想这样做 for (int i = 0; i < 100; i++) { Byte[] receiveBytes = receivingUdpClient.Receive(ref RemoteIpEndPoint); } ,但使用的UdpClient.Receive,我必须使用UdpClient.BeginReceive。问题是,

    0热度

    1回答

    我目前正在编写一个简单的Web服务器和一些客户端来使用它。我的客户希望能够扩展即将推出的解决方案的功能以包含Web客户端,但我们需要对通信进行微小的控制,因此简单的Web服务器就是解决方案。 无论如何,有两个症状,我可以通过运行一堆单元测试重现它们到100%。当我使用“POST”命令将简单的字符串上传到服务器时,问题就出现了。这实际上并不是我在现实中会做的事情,但我不能前进而不理解正在发生的事情。

    2热度

    1回答

    我一直在寻找实现自定义类: IList<ArraySegment<byte>> 这将被传递到一个套接字,并作为缓冲虽然测试我发现从该插座接收数据。 Socket.BeginReceive( IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object ) MSDN Documentation ,调用当 Begi

    1热度

    1回答

    我正在创建一个C#套接字用于UDP接收和发送功能与接收的异步回调函数。简单,对!消除所有皱纹需要花费一段时间,但它可以起作用......呃,只要你把港口弄死了!我需要允许其他应用程序使用相同的端口号。没问题,对!有该选项,SetSocketOption(...)为ReuseAddress ... udpClient.SetSocketOption(SocketOptionLevel.Udp, So

    13热度

    2回答

    我正在使用NetworkStream & TcpClient使用BeginRead异步接收数据。我需要对此操作执行超时,以便在指定的时间后,读取操作将中止。 据我所知,NetworkStream或TcpClient不支持此功能 - 有一个ReceiveTimeout属性,但这似乎只适用于同步等效项 - 'Read'。 即使是底层的Socket类似乎也不支持其BeginReceive方法中的超时。

    0热度

    1回答

    我正在使用Socket的BeginReceive接收来自电子邮件的数据。 我创建了一个StringBuilder投入在BeginReceive方法的最后一个位置,在object state 它的工作原理,但StringBuilder用奇怪的字符。相反,一个基本的葡萄牙语名字,是谁在电子邮件(若昂Gelásio),看来乔= E3o凝胶= E1sio 问题是否与StringBuilder配置或我需要做

    0热度

    1回答

    我试图通过UdpSocket从多播地址接收数据。 在我通过套接字发送数据之前,套接字没有收到数据。发送后,我可以收到一些包裹,然后我必须再次发送,才能收到更多包裹。同时从其他主机发送的软件包丢失。 我想,这不是像这样的防火墙问题:C# UDP Socket doesn't receive data until after data is sent,因为whireshark收到所有包。有人可以解释我

    3热度

    3回答

    我对套接字编程有疑问。我正在开发一个TCP数据包嗅探器。我使用Socket.BeginAccept,Socket.BeginReceive捕获每个数据包,但是当收到数据包时,我必须处理一些内容。这是一个快速操作,但需要几毫秒,然后再次调用BeginReceive。 我的问题是,如果某些数据包在我正在处理时发送,并且没有调用BeginReceive会发生什么?数据包丢失,还是内部缓冲?有限制吗?