问题标签 [socketserver]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
39325 浏览

python - 在单线程 Python 应用程序中关闭 socketserver serve_forever()

我知道 socketserver 有一个shutdown()导致服务器关闭的方法,但这仅适用于多线程应用程序,因为需要从与serve_forever()正在运行的线程不同的线程调用关闭。

我的应用程序一次只处理一个请求,所以我不使用单独的线程来处理请求并且我无法调用shutdown(),因为它会导致死锁(它不在文档中,但它直接在 socketserver 的源代码中说明)。

我将在此处粘贴我的代码的简化版本以便更好地理解:

我知道这段代码不起作用。我只是想向您展示我想要完成的事情 - 关闭服务器并退出应用程序,同时等待用户按下时的传入数据CtrlC

0 投票
1 回答
1415 浏览

java - 将 TCP 流量重定向到另一个目的地

我有一个游戏客户端。这与这个游戏有关。我正在尝试设置一个套接字服务器来拦截到游戏服务器的所有流量(游戏通过使用套接字运行)

我的问题是我需要将我的计算机产生的所有流量重定向到游戏服务器 ip + 端口到 127.0.0.1 以使其连接到我自己首先创建的套接字服务器。

我知道我可以使用 Windows 主机文件,但这会重定向所有流量。我只希望重定向 1 个端口(具有 TCP 流量的端口)如果 HTTP 流量也被重定向,它会破坏一切。

我正在使用 Windows 7

0 投票
2 回答
2050 浏览

java - 套接字编程 - Java 服务器、C(或其他)客户端 - 服务器给出“无效的流标头”

服务器(Java):

客户端 (C) - 这正是来自http://www.linuxhowtos.org/data/6/client.c的示例代码

Java 不高兴:

第 243 行是:

C 客户端与 C 服务器一起工作,而 C 服务器与我的 Python 客户端一起工作。我编写的类似 Java 服务器也与 Java 客户端一起工作。据我所知,有一些神奇的词可以让 Java 服务器 -> 非 Java 客户端。抱歉,尽管它显然非常基本和简单,但我在谷歌上没有运气。谢谢。

0 投票
2 回答
1001 浏览

c# - Socket服务器内存不断增加

我们有一个用 C#.Net 3.5 开发的套接字服务器。每当客户端断开连接并连接时,我都会看到服务器内存使用量增加。如果未提供有效凭据,服务器将断开客户端连接。

当客户端尝试使用无效凭据连接时,会保留更多内存并且似乎永远不会放弃。客户端每秒尝试重新连接一次。下面是处理断开连接的代码。每当客户端断开连接并且遇到读写操作错误时,都会调用此代码。

有人可以指导我如何调试/解决这个问题吗?

0 投票
1 回答
271 浏览

python - 使用 python 通过以太网发送单个 int

我需要制作一个使用 tcp 接收和发送单个整数的服务器。如果我尝试这样做,Socketserver 会给我一个 TypeError。有替代方案还是我需要从头开始编写服务器?

0 投票
1 回答
238 浏览

p2p - 使用套接字的 P2P 应用程序

我有两个 P2P 应用程序正在运行,一个在 10.7.1.1(A) 中,另一个在 10.7.1.3(B) 中。这是一种聊天应用程序,每个人都只发送和接收文本消息,没有其他内容。基本上,我在 A 和 B 中都与 2 个 UDP 套接字连接,用于侦听和发送文本。目前我已经在两个系统中硬编码端口号来建立套接字。现在我如何通过动态计算端口号来建立套接字来改进相同的应用程序?换句话说,我希望应用程序只接受来自用户的 IP 地址,然后自己建立一个端口用于套接字连接?这个设计能实现吗?有什么方法可以做到这一点?

0 投票
1 回答
1330 浏览

python - 如果 TCPServer 在另一个线程中运行,Python 2 不会处理信号

在使用标准库时,我发现 python2 和 python3 之间有一个奇怪的区别。如果我在 TCPServer 在不同的线程中运行时尝试在 python2 中捕获信号,则不会处理该信号,但在 python3 中却可以。

这是重现问题的脚本

这是 python3 的输出:

这是来自python2:

“^C”是键盘中断,“Killed”是我发送给进程的 sigkill。

为什么不调用关机?

0 投票
3 回答
3096 浏览

c++ - 关于处理超过 1024 个套接字描述符

我在 Linux 上使用 C 编写了一个聊天服务器。我已经测试过同样的东西,它在性能方面工作得很好。唯一滞后的是我正在使用 select 系统调用来处理套接字描述符。由于 select 的限制为 1024,因此我的聊天服务器最多只能同时处理 1024 个用户。

我知道我可以使用的另一个选项是 poll,但与 select 相比,我不太确定它及其性能。

请建议我解决这种情况的最有效方法。

0 投票
1 回答
438 浏览

c++ - C++ 套接字服务器到 Flash/Adobe AIR?

我正在使用 AIR 使用基准标记跟踪来做一些增强现实。我正在使用 FLARToolkit,它工作正常,除了在某些照明条件下帧速率下降到荒谬的低点。这是因为 Flash 仅使用 CPU 进行处理,并且它在每一帧都应用过滤器、调整阈值并分析像素以找到标记模式。如果没有任何硬件加速,它会变得非常慢。

我做了一些搜索,看起来最快和最稳定的跟踪库是 Studierstube ( http://handheldar.icg.tugraz.at/stbtracker.phphttp://studierstube.icg.tugraz.at/download.php ) . 不幸的是,我不是 C++ 开发人员。但是使用这个跟踪器似乎跟踪速度非常快(特别是因为它不是像 Flash 那样的所有 CPU 处理)。

所以我的计划是构建(或者更确切地说是让某人构建)一个利用这个跟踪器的小型 C++ 程序,然后将每帧的标记位置数据(只需要 30 FPS)发送到我的 Flash 客户端应用程序以显示视频和一些增强的现实经历。我相信这将通过套接字服务器或其他方式完成?对于一个体面的 C++ 开发人员来说,这可能而且相当容易吗?我会问他/她,但我正在寻找这样的人。

0 投票
1 回答
235 浏览

python - How to identify which port is being listened in Python's SocketServer?

I have a small application that spawns a number of ports (300 to be exact). When it spawns a socket it uses:

Is there a way to tell within SocketListener what port someone connected on?