草庐IT

Flask-Sockets

全部标签

sockets - 是否可以使用相同的端口和 ip 地址?

我创建了一个TCP服务器程序,它绑定(bind)、监听并接受来自特定IP地址和端口号的连接。在第一次连接期间:服务器正在接受来自客户端的SYN数据包并将ACK发送回客户端。稍后从客户端获得ACK。最后,Client与服务器进行RST。在第二次连接期间,客户端正在向从服务器发送SYN数据包,但没有来自服务器的ACK。我认为在使用相同的ip地址和端口号的第二次连接期间不可能存在绑定(bind)。是否可以在第二个连接中绑定(bind)同一个ip地址和端口号?服务器:SOCKETsock;SOCKETfd;uint16port=52428;//Iamalsousingnonblockingmo

sockets - 游戏服务器 TCP 网络套接字 - 公平性

我正在为回合制游戏编写游戏服务器。一个标准是游戏需要对所有玩家尽可能公平。到目前为止它是这样工作的:每个客户端都有一个TCP连接。(如果相关,连接通过WebSockets打开)在运行时,通过epoll持续检查传入的套接字消息。遍历准备好读取套接字的客户端:阅读来自客户的所有消息。更新每条消息的内部游戏状态。将传出消息排队到受影响的客户端。在每个“窗口”结束时(转):遍历客户端并将所有排队的传出消息写入它们的套接字我对公平的关注提出了以下问题:我向客户发送消息的顺序重要吗?在所有套接字上调用write()对我的程序来说只需要几分之一秒,但是如果我对客户端列表进行排序,在底层操作系统或网络

sockets - Iptables 防止泛洪

我知道您可以限制每个ip、每个时间间隔等的连接数,但我想要的是数据量。我正在托管一个套接字服务器,我认为与其让它执行检查泛洪的处理,不如将其卸载到防火墙。我知道你可以防止synflooding攻击,就像这里提到的:http://www.cyberciti.biz/tips/howto-limit-linux-syn-attacks.html例如:#Limitthenumberofincomingtcpconnections#Interface0incomingsyn-floodprotectioniptables-Nsyn_floodiptables-AINPUT-ptcp--syn-

sockets - 如何在IE11中正确hook WSARecv

我目前正在开展一个项目,该项目需要在IE中挂接TCP发送和接收API以监控TCP数据。它在IE9和IE10上运行良好。但它停止在IE11上工作。经过一番研究,我发现IE11使用WSASend和WSARecv来发送和接收数据。所以我决定HookWSASend和WSARecv。WSARecv是一个重叠操作。有3种方法可以获取重叠操作的结果。当使用重叠操作时,它们要么有关联的事件、完成例程,要么与I/O完成端口关联。我检查了IE11调用WSARec时的重叠结构,发现事件和完成例程都是NULL,所以我假设IE11使用IO完成端口来获取重叠操作的结果。问题是GetQueuedCompletion

sockets - 空闲超时后 HTTP 代理上的 TCP 套接字断开连接

在代理上使用HTTP隧道时,TCP套接字出现问题。客户端(C++)打开一个到服务器(JAVA)的TCP套接字。我添加了对HTTP代理的支持。一切正常,客户端像这样发送“HTTP连接”请求并在之后继续普通TCP连接:CONNECTservername:5555HTTP/1.1Host:servername:5555Proxy-Connection:Keep-AliveHTTP/1.1200但是,如果在代理中配置了空闲超时并且没有实际发送数据,则尽管客户端每60秒发送一次TCP保活数据包,但连接会终止。空闲超时配置为10分钟。TCPkeepalive配置如下:WSAIoctl(socket

sockets - 为 native 客户端运行套接字 API

我正在尝试运行由goggle本地客户端提供的套接字api示例。(路径:nacl_sdk\pepper_35\examples\api\socket)我可以使用make命令构建和运行这个示例,它也可以在chrome浏览器上正确显示。但是当我尝试连接到某个TCP端口时,无论IP和端口如何,它总是失败。虽然我已经创建了一个应用程序来监听我机器上的特定端口。错误信息如下:tcpResolving...Resolvefailed.我什至无法通过仅提供端口号来创建本地服务器。它说:Startingserveronport:8080server:Bindfailedwith:-7以下更改已经完成:在

sockets - 为什么即使我没有使用 close() 函数,tcp 连接也会关闭?

我使用ctrl+c来终止套接字程序而不是close()函数。TCP连接可以在一段时间后关闭。内核是如何处理这种情况的?我以为只有close()函数才能关闭tcp连接。 最佳答案 您可以关闭套接字。对方可以关闭连接。 关于sockets-为什么即使我没有使用close()函数,tcp连接也会关闭?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/25930153/

sockets - 用于列出当前设置的套接字选项的命令行工具

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭7年前。ImprovethisquestionWindows中是否有一个命令行工具可以列出当前在tcp套接字上设置的所有套接字选项?我正在寻找列出进程中所有tcp连接的东西,并且对于每个连接都显示设置的套接字选项。我有一个客户端应用程序的延迟为零(与服务通信时),另一个客户端应用程序的延迟为45毫秒-所以我认为比较两个应用程序上设置的套接字选项可能会帮助我找出问题所在.我正在使用资源监视器来查看TCP连接的延迟。

sockets - TCP 多连接与 1 连接(应用程序管理)

我需要一些建议...我正在构建一个桌面应用程序,其中每个窗口都需要用户不断输入(例如单击、键入、鼠标移动等事件)以发送到服务器。服务器还发送持续的反馈,例如(刷新对话框中的一些数据、文本、新对象等)起初我想我会使用HTTP,但现在选择使用纯TCP。我的问题是:我应该使用一个TCP连接并在“应用程序层”处理来自服务器的所有信息,还是应该创建多个连接(例如每个窗口一个连接并让操作系统处理多个TCP管道)?我可以对这2个想法中的任何一个进行编程,但在性能和带宽方面谁的效率更高?更新1大约有2000个客户同时使用该系统每个客户端同时使用2~3个窗口 最佳答案

sockets - 如何在 ubuntu 12.04 中查找端口号?

我需要编写我的第一个涉及TCP连接的套接字程序。在我创建的程序中有一个客户端和服务器,它们都是我正在编码的机器。但是,它要求我将端口号作为命令行参数传递。我该如何实现? 最佳答案 答案很简单:确保您的服务器和客户端同意使用的端口。只要端口可用并且可以使用,就设置连接,以便客户端和服务器使用相同的端口。这是alink解释了TCP和UDP端口可用的不同范围。例如,3074端口被微软用于其XboxLive服务。使用此端口创建应用程序可能会干扰服务。使用的端口将在配置文件中定义或在服务器和客户端的源代码中进行硬编码。您应该可以通过快速查看代