草庐IT

Java TCP 套接字 : data transfer is slow

全部标签

c# - 如何确定连接的套接字是否使用 IPSec?

我正在开发一个Windows服务器应用程序,该应用程序将使用HTTPClient通过套接字将敏感信息传输到另一个Windows服务器。服务器应该配置为使用IPSec。所以是的,我不需要做任何事情来在应用程序级别设置安全连接。但是,我被指示确保连接是否使用IPSec,如果不是,则中止。如何以编程方式确定连接是否确实受IPSec保护?该应用程序是C#,在WindowsServer2016上。如果需要完成这项工作,我愿意接受基于P/Invoke的解决方案或C代码。只要它最终可以与C#HttpClient类一起使用。 最佳答案 这不是应用程

c++ - 监听套接字意外死亡

我遇到了一个问题,TCP套接字正在监听一个端口,并且已经完美地工作了很长时间-它处理了多个连接,并且似乎可以完美地工作。但是,有时在调用accept()创建新连接时,accept()调用会失败,并且我会从系统中收到以下错误字符串:10022:提供了无效参数。显然,当您在不再监听的套接字上调用accept()时,可能会发生这种情况,但我自己并没有关闭套接字,也没有收到该套接字上的任何错误通知。谁能想到监听套接字停止监听的任何原因,或者上述错误是如何产生的? 最佳答案 一些可能性:您的代码的其他部分覆盖了句柄值。检查它是否已更改(在其他

c++ - Windows 最低级套接字编程?

我对winsock有多低级有点困惑?我想在Windows上编写一个非常基本的客户端-服务器程序。我真的不想使用臃肿的TCP甚至UDP,只是一些非常基本和低延迟的东西。winsock会是这个的理想选择吗?或者winsock是否与windows网络功能相同,只是全部打包(并且可能更慢)?在nativeWindows网络功能上使用PInvoke会更好吗? 最佳答案 Winsock、TCP、UDP和任何建立在这些之上的广受欢迎的网络库都将在性能方面具有可比性。使用最简单的方法来完成您的工作。 关

C++ Win 异步套接字。是否可以中断 select()

我有一个监听线程,等待使用select和FD_SET在几个套接字上读取。故事是。在某些时候,我将向池中添加另一个套接字,并且需要中止选择并重新初始化FD_SET数组以供选择。我有一个事件来指示池更改。但是select如何对我的事件使用react?select()此时使用timeval等待间隔为20秒,我不想将时间更改为较低的值。我不想频繁地重新启动select()超时...有什么办法可以中止选择吗?通知/重新启动选择并强制使用新套接字列表的正确方法是什么(至少一个套接字将被添加到池中)另一个问题-Msdn说“select函数确定一个或多个套接字的状态,必要时等待,以执行同步I/O。”这

windows - Windows 8 应用商店应用程序可以通过 UDP/TCP 套接字与 Windows 7 桌面应用程序通信吗?

详细说明情况:我们有两个应用程序,为简单起见,我们将它们称为A和B。两者都在Windows7上开发和运行,它们可以使用UDP/TCP进行连接和通信。现在我们要将AppB转换为Windows8以利用MetroUI。我们是否需要对AppA中的网络代码进行大量更改?它甚至可以继续在Windows7上运行并与运行在Windows8上的AppB通信吗?据我了解,Win8处理套接字的方式与以前的Windows略有不同,因此我表示怀疑。 最佳答案 只是从不同的角度来看,通信在技术上是可行的,但是explicitlyforbidden(假设您要在W

c++ - DLL 中的非阻塞套接字(无窗口)

我有一个通过单个套接字连接到服务器的DLL。我面临以下问题:如果服务器的IP地址和端口为假或服务器已关闭,则使用此DLL的应用程序会卡住半分钟。我的想法是使用非阻塞套接字来避免该问题,方法是显示一个指示连接进度的窗口,并允许取消此过程。但是我没有窗口处理程序,怎么能使用WSAAsyncSelect函数呢? 最佳答案 如果你想使用WSAAsyncSelect类型的套接字,那么你的Dll将需要创建至少一个消息窗口来处理套接字事件。由于窗口将永远不可见,因此它的WindowProc将仅包含一个处理程序,用于您的自定义消息(WM_USER+

windows - Delphi:通过套接字发送多个字符串?

我目前正在使用delphi6(是的,我知道..但到目前为止它已经完成了工作。)我正在使用Serversocket和客户端套接字。当我的客户端连接到我的服务器时,我想让它发送一些信息,比如计算机名、LANIP、操作系统名称、ping。目前我只有客户端向服务器发送计算机名,我想知道如何发送多个信息,并在我的网格中相应地设置它?这是源代码:客户:unitclient1;interfaceusesWindows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,Dialogs,ScktComp;typeTForm1=class

c - 如何将套接字 recv(,,,) 用于不确定的响应长度

我需要使用IrDA套接字通信从设备发送命令和读取响应。尽管打包命令相当简单,但无法确定响应的预期大小。例如,命令“GET_ERRORS”导致设备返回从0到n的数据,\n分隔行,每行最多80个字节。我已阅读帖子*here,但设备未向我提供实际数据block之前的***header*。[编辑]这是GET_ERRORS命令的典型响应(为了便于阅读而简称):DateTimeFault10/12/200002:00:003f4610/12/200002:00:00bcf510/12/200002:00:00131210/12/200002:00:00a33410/12/200002:00:00b

c# - 套接字接收挂起

我正在尝试下载、搜索bing页面,并询问是否使用套接字,我决定使用套接字,而不是webclient。在bing、yahoo、google的情况下,socket.Receive();在几个循环后挂起,但适用于询问。forgoogleloop将接收4-5次,然后停止调用。我不知道为什么?publicstringGet(stringurl){UrirequestedUri=newUri(url);stringfulladdress=requestedUri.Host;IPHostEntryentry=Dns.GetHostEntry(fulladdress);StringBuildersb=

c++ - 服务器套接字如何使用C++在Windows中拔出网络电缆

我正在使用c++和winsocklib在Windows中开发客户端服务器应用程序它工作正常但是如果它在网络上并且一旦服务器监听开始并且如果我移除网络电缆那么服务器不会在任何线程中显示任何错误所以服务器在哪里socket知道网络电缆已拔出。如果有人知道请帮助我。 最佳答案 虽然应该可以检测到主机上的网络电缆已拔掉,但如果网络在服务器和客户端之间的其他地方中断,您仍然会遇到同样的问题。解决此问题的一种常见(如果不是最常见的话)方法是发送“保持事件”消息。如果在一段时间内没有收到对该消息的回复,您只需关闭连接并释放与其关联的所有资源。编辑