草庐IT

StreamSocket

全部标签

c# .net Windows 8 App TcpClient 代码端口到 StreamSocket

我在.net4.5之前有这段代码_Connection=newTcpClient(hostname,port);_Stream=_Connection.GetStream();对于Windows8应用程序,我更改为:_Connection=newStreamSocket();await_Connection.ConnectAsync(newHostName(hostname),port.ToString());_DataReader=_Connection.InputStream.AsStreamForRead();_DataWriter=_Connection.OutputStrea

c# - 为什么在循环中使用 StreamSocket 会导致内存泄漏?

我正在开发一个C#、UWP10解决方案,它使用快速、连续的读/写循环与网络设备通信。API提供的StreamSocket似乎工作得很好,直到我意识到存在内存泄漏:累积了Task。在堆中,每分钟数百个。我是否使用普通的旧while(true)在asyncTask中循环,或使用self发布ActionBlock使用TPL数据流(根据thisanswer),结果是相同的。如果我消除从套接字读取并专注于写入,我能够进一步隔离问题:我是否使用DataWriter.StoreAsync方法或更直接的StreamSocket.OutputStream.WriteAsync(IBufferbuffer

sockets - ConnectAsync 阻塞 UI 线程

我有一个简单的WinRT应用程序,它将通过TCP与远程服务器通信。为了做到这一点,我正在创建新的StreamSocket对象,并在单击适当的按钮后连接到远程服务器,如下所示:privateasyncvoidConnectButtonClick(objectsender,RoutedEventArgse){StreamSocketsocket=newStreamSocket();HostNamehost=newHostName("192.168.1.15");awaitsocket.ConnectAsync(host,"12121");}问题是这段代码阻塞了UI线程。我创建了简单的动画,

c++ - 如何使用 streamsocket 作为 poco 库中的非阻塞 tcp 客户端?

poco库为tcp服务器提供了一个reactor框架。并且有一些示例演示了如何使用它。但我找不到任何streamsocket的例子。我只想在非阻塞模式的tcp客户端使用,请问如何使用?谢谢。 最佳答案 对于C++中的网络I/O,建议使用ASIO因为它正在准备包含在C++语言标准中。 关于c++-如何使用streamsocket作为poco库中的非阻塞tcp客户端?,我们在StackOverflow上找到一个类似的问题: https://stackoverflo

c# - 如何处理与 Windows StreamSocket 的断开连接/重新连接

使用WindowsStreamSocket类(TCP)处理断开连接和重新连接事件的正确方法是什么?我有一个问题,在断开连接事件后调用async_connect时调用“无效操作,在意外时间调用了方法”我是否需要创建一个新的streamsocket,或者在尝试重新连接之前等待一段时间?https://learn.microsoft.com/en-us/uwp/api/windows.networking.sockets.streamsocket 最佳答案 解决方案是添加以下代码://oncatchinganexceptionsocket

c# - 如何在客户端检测关闭的 StreamSocket

DataReader.LoadAsync不检测关闭的套接字(使用InputStreamOptions::Partial)我正在通过TCP连接向服务器发送数据并读取响应,但之后一切正常。但是在5-6条消息之后,我的项目已经完成,我没有发现错误在哪里。有时我发现通过主机关闭了连接所以我怎么知道StreamSocket是否已连接============代码=============publicasyncTaskConnect(stringhost,stringport){try{socket=newStreamSocket();HostNamehostName=newHostName(hos

c# - 使用 StreamSocket 正确接收数据挂起

我正在使用StreamSocketListener在WindowsPhone8(充当服务器)上接收由HTTPPOST客户端发送的数据。我可以接收数据,但是当读取所有数据时,DataReader.LoadAsync()方法挂起,直到我手动取消来自客户端的连接:_streamSocket=newStreamSocketListener();_streamSocket.ConnectionReceived+=_streamSocket_ConnectionReceived;await_streamSocket.BindServiceNameAsync("30000");privateasyn