草庐IT

TCP-Sockets

全部标签

c# - 无法使用单声道连接到在 ubuntu 上运行的自己的 IPv6 TCP 服务器应用程序

我的测试基础设施由3台机器组成:1台运行hyperv的Windows10物理机和2台安装了ubuntu操作系统的虚拟机。所有机器之间都有完整的网络连接(它们相互ping)。我写了2个简单的C#程序:TCP客户端和TCP服务器(下面我附上了重现问题的最少代码)。当我在Windows机器上运行客户端并在其中一台ubuntu机器上运行服务器时,一切都运行良好。但是,当我尝试在其中一台ubuntu机器上运行客户端并在另一台ubuntu机器上运行服务器时,我在客户端收到错误消息:TCPClientTest.exeInformation:0:System.Net.Sockets.SocketExc

C# 通过套接字和 TCP 发送大小数据缓冲区

我想通过TCP发送大量缓冲区(从100MB到1GB)的数据。我通过将缓冲区划分为更小的缓冲区(大约1MB缓冲区)并通过socket.send()发送来解决它。每次调用socket.send()方法,发送部分数据(较小的缓冲区)打包在特定结构中:[startbyte(1B),Timestamp(4B),Command(4B),Lengthofdata(4B),Datatosend(?B),CRC(1B),结束字节(1B)]。当特定端口仅发送一个巨大的缓冲区时,一切正常。但是,当我尝试使用相同的TCP端口在同一时间缓冲区中发送另一个数据(非常小,例如20字节)时,TCP会在缓冲区中混合数据

windows - C++在Windows上使用SSL保证Winsock TCP数据安全

我们有一个在Windows上开发的C\S应用程序。开发语言为C\C++,使用Winsock(TCP)库。现在基本功能已经完成。因为服务器端是在互联网上工作的,所以必须保证数据的安全。在互联网上搜索后,我们发现SSL可以提供帮助。Codeproject上有一篇文章:CSslSocket-SSL/TLSenabledCSocket,展示了如何使用windowsSchannel为MFCCSocket实现SSL。我还注意到该工具需要一个证书。对于我们的应用程序,我们没有证书。我们需要申请证书吗?如何申请?或者在我们的案例中实现SSL的任何简单解决方案(我们想使用WindowsSSPI,而不是其

tcp - 使用 JMeter 的同步 TCP 请求

现在我使用BinaryTCPClientImpl和CSV数据集以及十六进制编码的数据行。每个JMeter线程都创建到服务器的新连接并从CVS文件发送数据行。但我只需要一个线程连接到服务器一次并同步发送CVS文件中的所有行(从服务器收到确认后的下一行)。可以用jMeter实现吗? 最佳答案 在JMeterThreadGroup中指定LoopCount为2,因此JMeter只创建一个线程并使用CSV文件中的两个值迭代两次。根据您的需要增加循环次数。您可以将LoopCount保持为Forever(通过启用复选框)并在CSVDataConf

tcp - 二进制文件的快速传输

我们每天需要发送大约500MB的压缩图像文件(每个大约280K)。目前,我们以快速简便的方式执行此操作。一个网络服务器,通过http下载。我们现在正在考虑在客户端放置一个更好的客户端(nw.js)。所以我们有机会改进传输协议(protocol)。数据只以一种方式流动。我们有一些想法,但我很想听听更好的想法。使用符合HTTP2(SPDY)标准的服务器,并使用ChromiumHooknw.js用于HTTP2接收使用TCP连接(自定义node.js服务器->nw.js中的节点代码)也许我们应该看看QUIC:https://www.chromium.org/quic将其打包成一个zip文件(不

Chrome 响应后关闭 TCP 连接

我有这段代码可以处理一些非常基本的http请求。我希望它支持持久连接。如果我通过firefox请求某些页面,session/连接将按预期重用。然而,Chrome会在每次请求/响应后关闭连接,而不管是否包含Connection:keep-aliveheader。这是有意为之还是我的读/写循环有误?#include//somesetupcodelisten(sockfd,5);//acceptnewconnectionswhile(true){intsession_sock_fd=accept(sockfd,(structsockaddr*)&cli_addr,&clilen);if(ne

scala - Akka TCP IO 向我发送两次连接消息

我有一个简单的客户端服务器程序服务器监听如下valmanager=IO(Tcp)manager!Bind(self,myAddress,1,options)然后在接收循环overridedefreceive={caseb@Bound(addr)=>{log.info("bound")myAddress=addrbBound=true}casec@Connected(remoteAddress,localAddress)=>log.info("ClientConnected.Remote:{}Local:{}",remoteAddress,localAddress)myAPAddress

通过 TCP 的 Python 流数据

我刚刚遇到了一个严重的网络问题。我正在设置一个虚拟雷达服务器,至少有一个RasPi作为ADS-B接收器。只是为了解释这是怎么回事:飞机在公共(public)频率(1080MHz)上传输位置数据,我想显示它。有点像Flightradar24。在我的Pi上,我运行MalcolmRobb的dump1090,它通过SDR设备(DVB-T棒)拦截这些传输,并提供带有解码数据的网络流。如果你只是在Pi的端口30003上远程登录,你就可以观看这个流。到目前为止,还不错。在第二台机器上运行虚拟雷达服务器(简称VRS)。它主要是一个网络服务器,显示在PI的所述端口上接收到的数据。在我的本地局域网中,这也

c++ - 处理套接字 boost asio tcp ip - C++ 套接字编程

我正在使用以下代码成功建立连接、发送和接收消息。我想做的是以某种方式返回已经建立的连接。我假设我需要归还套接字。在写这个主题之前,我阅读了一些相关的主题——其中一些提到返回套接字不是一个好主意。此处建议使用shared。Passingaroundboost::asio::ip::tcp::socket不幸的是,我不熟悉这种类型的指针及其用法。你能帮我解决这个问题吗?try{boost::asio::io_serviceio_service;tcp::resolverresolver(io_service);tcp::resolver::queryquery(server,port);t

Linux TCP : high Send-Q on sender, 接收器上的 Recv-Q 为零

怎么会这样:两台机器之间有一个TCP套接字在一些成功的双向通信之后,发送方应用程序卡在写入套接字和接收方读取套接字netstat报告发送方套接字的高Send-Q(几兆字节)(即使等待几个小时后该值也没有改变)netstat报告接收器上套接字的Recv-Q为零tcpdump报告套接字上的唯一事件是周期性(每两分钟)ACK没有来自发送方的数据和立即ACK响应没有来自接收方的数据为什么发送方机器不尝试将排队的数据发送到接收方? 最佳答案 我的情况是,客户端以8KB的block写入数据,服务器试图读取8KB,然后服务器会将其写入RAID0磁