7得票6回答
GCDAsyncSocket - 无法接收数据 - AsyncSocket正常工作

我使用GCDAsyncSocket让iPhone客户端连接到一个运行在Windows服务器上的.Net服务器。连接很好,数据也能够成功发送。 然后,我告诉客户端在发送完数据后直接进入接收状态...... [sock readDataToData:[GCDAsyncSocket LFData...

7得票1回答
异步套接字客户端缓冲区大小

我需要使用异步套接字连接远程服务器并检索数据。我可以成功连接,但是出现了问题。 数据包会分成几个部分发送。我有两个选择:我可以设置一个缓冲区并一次性获取整个数据包,或在传输完成后将这些部分组合起来。我认为第一种选项(缓冲区)是正确的方法。 我正在定义一个缓冲区大小,但在第一部分中它不起作用...

7得票2回答
C#套接字ReceiveAsync

我习惯于使用同步套接字,并且在现在这个节点上,特别是在Socket.Receive(..)并非总是接收到所有字节的情况下,我遇到了一些头疼的问题。 这里是我曾经使用的代码: public byte[] Receive(int size) { var buff...

7得票2回答
来自C#回调函数的未处理异常错误

我有一个三层架构,并且使用TCP套接字在传输层(TCP客户端)异步地使用BeginSend方法发送一些数据。 public void TransportData(Stream stream) { try { SetTransporterState(StateO...

7得票1回答
如何使用TurnSocket(XEP-0065:SOCKS5 Bytestreams)连接? XEP-0096:SI文件传输? [socket writeData]?

我正在尝试使用XMPPFramework和OpenFire在iOS上进行XMPP文件传输。我的代码基础来自以下tutorial。我已经成功建立了一个TurnSocket(XEP-0065: SOCKS5 Bytestreams)连接,但我不知道如何使用它来发送数据。我有两个考虑因素,都卡住了:...

7得票4回答
如何在StreamSocket的ConnectAsync()函数中设置超时时间?

在Windows Phone 8.1应用程序中,我必须创建以下套接字。我如何更改它,以便可以指定超时时间? _socket = new StreamSocket(); await _socket.ConnectAsync(hostName, port.ToString(), SocketPr...

7得票1回答
在所有情况下都必须调用EndRead()吗?

关于使用(双向)NetworkStream的异步IO,MSDN表示“对于每次调用BeginRead,必须调用一次EndRead。” 即使在EndRead()会抛出异常的情况下,例如在发出BeginRead()后关闭了NetworkStream,这也是正确的吗? 我不想有异常抛出的开销,但也...

7得票1回答
如何处理异步套接字中的超时?

我有一段代码,使用异步套接字向客户端发送消息,并期望从客户端获得响应。如果客户端在指定的时间内没有回复,则会视为超时。互联网上的一些文章建议使用WaitOne,但这将阻塞线程并推迟使用I/O完成的目的。 如何在异步套接字中处理超时是最好的方式? Sub OnSend(ByVal ar A...

7得票2回答
SocketServer 中有针对 ThreadingMixIn 和 ForkingMixIn 的线程池吗?

我试图使用基于SocketServer的BaseHttpServer创建一个HTTP代理服务器,该服务器有两个异步Mixin(ThreadingMixIn和ForkingMixIn)。 这两个Mixin的问题在于它们每个请求都会分配一个新的线程或者新的子进程来处理请求。 是否有一种Mixi...