草庐IT

network_connected

全部标签

C套接字编程: Invalid argument error on connect()

我正在编写客户端作为TCP客户端服务器程序的一部分。我的代码到达连接部分并抛出一个Invalidargument错误,我已经检查了几次代码,但我找不到问题。代码接收3个参数,第一个是IP地址或主机名,第二个是端口,第三个是要发送的消息的最大长度。我的代码使用getaddrinfo来转换IP地址或主机名、创建所需的变量、启动连接、读取文件、发送数据和接收数据。我运行代码:gcc-std=gnu99-O3-Wall-opcc_clientpcc_client.c./pcc_client127.0.0.122334输出是:sockaddr_ininitializedErrorstarting

networking - TCP连接基础

这是一个基本的疑问,但我想知道如果在相同的两台机器之间建立两个TCP连接,两个连接中的数据包是否会遵循相同的路径(相同的链路和节点)。我问这个问题的原因是因为我想测量两台机器之间的IPv4和Ipv6TCP连接带宽,并且我想确保这两个连接遵循相同的路径。 最佳答案 除非您可以控制两台主机之间的网络和路由,否则您永远不应该做出这样的假设。对于IPv4与IPv6尤其如此,因为还没有太多的本地IPv6网络,并且隧道可能遵循与“直接”IPv4截然不同的路由。更糟糕的是,IIRC没有什么能阻止一些中间网络通过一个链路路由一半的数据包,另一半通过

networking - VB6 异步 Tcp 客户端截断传入消息

我有一个C#Tcp服务器,它向注册的VB6Tcp客户端发送消息。消息的接收是使用WinSock以异步方式完成的。所以出现“完成”消息的VB6部分如下所示:PrivateSubwskConnect_DataArrival(ByValbytesTotalAsLong)DimsBuffAsStringwskConnect.GetDatasBuff,vbString'--RetrievesentvalueProcessMessagesBuff'--ProcessthevalueEndSub问题是C#Tcp服务器正在发送一个长度为6874的字符串,但是当我们检查DataArrival事件触发时接

networking - 玩 tcp/ip

我想学习和使用python、java或c++的tcp/ip库。但是我只有一台电脑。是否可以“伪造”远程计算机来模拟远程主机,在NAT下结束一切? 最佳答案 最简单的方法是在同一台计算机上同时运行服务器和客户端,并使用“环回”IP地址:127.0.0.1,它始终连接到本地主机。我在测试期间做过很多次。例如,在端口NNN上运行本地网络服务器,然后在浏览器中输入http://127.0.0.1:NNN/事实上,127.X.Y.Z应该总是与本地机器对话。 关于networking-玩tcp/ip

macos - 异常 : connect: does not exist (Connection refused) when trying to connect to TCP socket in Haskell

上下文我正在关注tutorialonwritingaTCPserverlastweekinRealWorldHaskell.一切顺利,我的最终版本可以正常工作,并且能够在TCP客户端和服务器之间发送消息。然后,我想为我编写的一个小型TicTacToe游戏编写自己的TCP服务器。我开始编写服务器和客户端并进行了一些尝试,到目前为止它工作正常,服务器能够接受连接,但还没有真正的交互。现在有点尴尬了,因为在我关闭我的Mac并尝试重新启动它之后,它再也无法启动了。我整个星期五都在忙于从单用户模式进行备份并重新安装Mac操作系统。重新安装成功后,我所有的数据都还在,所以我根本不需要备份。无论如何

tcp - "iot_tls_connect L#143 TCP Connection Error"使用 Raspberry Pi 的基本 AWS 示例

我是awsIOT的新手。我收到错误:iot_tls_connectL#143TCPConnectionError.我正在尝试使用示例awsc代码。我已将header配置替换为我帐户的配置。但是示例中没有一个超出这个错误。我正在使用树莓派。 最佳答案 听起来您拥有正确的证书/key。确保主机名只是.iot.us-west-2.amazonaws.com而不是https://A.iot.us-west-2.amazonaws.com如果您从控制台复制粘贴它。 关于tcp-"iot_tls_c

python - 如何重现 "Connection reset by peer"

我了解了tcp中两个臭名昭著的错误之间的区别:[Errno54]Connectionresetbypeer[Errno32]管道损坏这两个错误都是tcp连接的一侧因未知原因关闭,而另一侧仍然与之通信。当对方写东西时,抛出Brokenpipe当对方读一些东西时,Connectionresetbypeer被抛出我能够使用下面的Python代码重现Brokenpipe。#tcp_server.pydefhandler(client_sock,addr):try:print('newclientfrom%s:%s'%addr)finally:client_sock.close()#closec

networking - 通过 TCP 代理的 RDP

第一次使用Stackoverflow,希望有人能帮助我。我正在研究通过TCP代理/隧道传递RDP流量的概念证明,该代理/隧道将使用HTTPS穿过防火墙。问题与将图像部署到机器有关,因此不能假定.NET框架将存在,因此在连接的部署端使用C++。我目前拥有的基本系统是一个程序,它监听端口上的客户端连接,然后将任何数据传递给WCF服务,该服务将其存储为字节数组。部署机器(使用GSoap和C++)轮询WCF服务以获取消息,如果找到消息,则通过套接字将数据传递到目标服务器进程。我知道这听起来很糟糕,但它适用于简单的测试客户端和服务器,通过此WCF/C++/C#代理层将数据传入和传出简单的测试客户

java - 奇怪的 SocketExceptions : connection reset and Connection timed out

我有一个JavaTCP服务器和一个AndroidTCP客户端。服务器等待请求,然后将50MB的数据发送到Android客户端(客户端通过循环数组读取并覆盖数据,因此数据不会保存在手机上。)一切正常,花花公子,但有时客户端会崩溃有了这个:java.net.SocketException:Connectiontimedout服务器得到这个:java.net.SocketException:connectionreset客户端循环读取,直到接收到所有数据(我允许它在一次调用中读取的最大数据是1.5MB。服务器发送如下:connectionSocket.getOutputStream().wr

networking - TCP - 接收顺序错误

是否有可能以错误的顺序获取TCP数据包,由序列号指示?那么在接收方会发生什么?例如,是否有任何队列存放“过早”到达的口袋? 最佳答案 也许吧。接收TCP引擎有几个关于要做什么的选择。它唯一不能做的就是将那些乱序数据包中的数据乱序地传递给接收进程。接收TCP引擎可以丢弃无序数据。最终,发送TCP引擎将重新传输它们。在此之前,它当然也会重传间隙中的数据。当间隙中的数据到达时,接收引擎可以将其按顺序传递给接收进程。接收TCP引擎可以保存乱序数据。最终,要么间隙中的数据到达,要么发送TCP引擎将重传它。无论哪种方式,间隙都会被填补,接收引擎