草庐IT

network_connected

全部标签

C、Socket编程 : 1 Server 2 Clients connected by HUB, 使用TCP的聊天应用

我有1个服务器1个客户端之间的连接和聊天代码如下:/*ServerSide*/#include#include#include#include#include#include#includemain(){intsd,i,len,bi,nsd,port;charcontent[30];structsockaddr_inser,cli;if((sd=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP))==-1){printf("\nSocketproblem");return0;}printf("\nSocketcreated\n");bzero((char*)

networking - 数据传播时间(单链路)

这不是家庭作业!我准备自己在网络中进行测试:我在期中考试中遇到了这个问题,我得到了一半的分数我想不通在这个问题中,我得到了接收者-发送者连接。链路数据速率为R(b/s)包大小为S(b)窗口大小为W(pkts)链路距离为D(m)介质传播速度为p(m/s)我需要用这些字母写出利用率公式这是我写的:Tp-PropagationtimeisD/p===>这让我在测试页上打了个大叉我写道,帧传输(Tt)时间是以位(W*S)为单位的窗口大小除以链路数据速率,即(W*S)/R这就是为什么公式是U=Tt/(Tt+2*tp)==>((W*S)/R)/(((W*S)/R)+2*(D/p))(再次X)我猜想

tcp - .NET 4 新 TCP 客户端连接失败 : No connection could be made because the target machine actively refused it

我在win7和xp中都遇到了一个关于.NET4Sockets(TcpClient)的简单问题。我得到错误:目标机器主动拒绝,无法连接这似乎不是防火墙问题,因为客户端和服务器程序都在同一台计算机上,而且我没有启用任何本地防火墙。我写了服务器和客户端(他们在端口80上通信(我也尝试过其他端口,例如31000)。我机器上的端口80上没有其他任何东西在运行。客户端代码为:publicvoidmakeConnection(){stringserver=ClientStatus.myself.ServerName;port=80;ClientStatus.myself.BytesSent=0.To

networking - 识别慢启动阶段的结束

我对慢启动阶段有很好的理解,即一开始它如何只允许发送几个数据包,但是这个数量会增加直到找到最大值以避免拥塞。然而,对于下图,我如何确定慢启动阶段何时结束?我假设它从0秒开始就开始,也就是建立连接的时间。我猜测慢启动在0.65秒结束?这是我们只开始一个接一个地看到两个点(数据包)的时候……或者更确切地说,这仅仅是因为避免拥塞吗? 最佳答案 我同意。如果您加入这些点会更容易,但我看到在t=0.65秒时达到最大斜率,然后随着拥塞避免的开始而减速。 关于networking-识别慢启动阶段的结束

sockets - Haskell 'timeout' 函数在应用于 'connect' 时不起作用

我的代码是这样的:connectFarEncipport=withSocketsDo$doaddrinfo如果无法连接到服务器,我希望超时两秒,但它不起作用。相反,抛出连接失败的异常,并退出程序。我应该如何处理这种情况以避免退出? 最佳答案 您从服务器得到了明确的答复,这产生了“连接被拒绝”。超时适用于您根本没有得到答复的情况。 关于sockets-Haskell'timeout'函数在应用于'connect'时不起作用,我们在StackOverflow上找到一个类似的问题:

tcp - 关于 TCP SYN 洪水 : Why is half-open connections worse than established connections?

这不是出于黑客目的。我正在学习计算机科学,我只是好奇。所以..当主机A向主机B发送TCPSYN时,主机B为接收缓冲区等分配空间,向主机A发送回SYNACK,主机A也分配这样的空间,然后向主机B发送回ACK。连接是然后成立。但是为什么半开连接(从不发送来自A的最后一个ACK​​)比完全建立的连接更能破坏主机B? 最佳答案 半开连接不会比完全打开的连接占用更多的资源,并且一堆连接不会比完全打开的连接更容易、更快或更可靠地压垮服务器。但是您只需要向服务器发送一个数据包就可以创建一个半开连接,而您需要完成一次TCP握手(1次发送,1次接收,

networking - 如何连接到 ec2 上的 c# 聊天服务器

我用C#创建了一个聊天服务器。我可以在本地主机上运行这一切,客户端可以连接到服务器。我设置了AmazonEC2云服务。我在那里设置了服务器并启动了它。我无法从在我的家庭计算机上运行的客户端连接到在我的ec2实例中运行的服务器。我设置了一个弹性IP地址。然后我将它分配给运行服务器的实例。我设置安全组如下:我现在可以ping我的服务器,但我的客户端仍然无法连接到服务器。(我意识到开放这么多安全组是危险的,但这是一个学校项目,所以我只需要一次运行5分钟)我错过了什么?我怎样才能让我的客户端连接到我的服务器? 最佳答案 检查TcpListe

networking - 使用 TUN/TAP 测试用户空间 TCP/IP 堆栈

是否可以使用TUN/TAP接口(interface)测试TCP堆栈?我正在考虑这样的机制:+--------------------------------+|TCPClient/Server||socket(AF_INET,SOCK_STREAM)||e.g.HTTPServer/Client|+----------+---------------------+||+---------------------+||TUNDevice|||(kerneldoesTCP)||+---------------------+|+------------+-------------------

networking - 使用网络连接进行应用程序间通信是不好的做法吗?

我有两个应用程序需要在同一系统上相互通信。我一直在使用在两个应用程序之间打开TCPCOMchannel进行通信的非常奇怪的做法。无论如何,这种做法是不受欢迎的吗?是否有任何替代方案(除了使用stdio,由于其他原因不可能)。是否对最大传输速率和/或涉及的任何延迟有限制(与管道stdio相比)?我正在为服务器和客户端使用本地(127.0.0.1)地址,是否可以保证连接保持在本地机器本身内,或者它可以在返回自身并连接网络之前中继离最近的路由器卡会影响连接的属性吗? 最佳答案 我不久前用Java开发过一个系统。我在寻找同样的问题。我对此没

Python:套接字编程:accept() 和 connect 调用

几个月以来一直在自学python,终于学会了Socket编程。作为课本练习,我应该设计一个半双工聊天系统。下面是代码。第一个请求和响应都很好,但每次我尝试从客户端发送第二条消息时,服务器似乎挂起。该程序基于TCP。我怀疑由于每次必须发送新消息时都会调用ss.accept(),因此会创建一个新线程,但由于我只从客户端对sc.connect()进行了1次调用,所以可能是我在服务器端的新连接在那里挂了无限长的时间。作为一个线索:我在while循环之外调用了ss.accept(),即只建立一个连接并在while循环中一遍又一遍地监听数据,对话工作得很好谁能看看代码并帮助我了解问题的确切位置。自