问题标签 [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.
java - 子进程无法通过套接字进行通信
我正在用 Java 编写一个 P2P 系统(作为一些 uni 工作的研究原型)。因为我想启动大量对等点,所以我使用 Apache Commons Exec 编写了一个类来读取一个 XML 配置文件,该文件描述了要启动的进程(作为子进程)以及它们应该作为服务器侦听的端口。我的问题是我无法让子进程通过套接字相互发送消息。有什么特别的原因吗?
我已经使用从命令行启动的单独进程进行了测试,并且套接字通信工作正常 - 只有当它们是同一个父进程的子进程时,事情才不起作用。顺便说一句,我在同一个 Windows XP 机器上运行所有东西。
python - TCP-Server over SSL 使用 SocketServer.TCPServer
我想将 ssl 支持添加到基于 SocketServer.TCPServer 类的现有 TCP 服务器。所以我覆盖了 TCPServer 类的默认构造函数并添加了 ssl.wrap_socket(...)-call:
启动服务器时,没有发生错误。所以我也修改了我的简单测试客户端以支持 ssl:
再次没有发生错误,但连接调用被阻塞。使用 Ctrl+C 关闭客户端时,会显示以下内容:
所以 do_handshake 在连接时被阻塞。有谁知道如何解决这个问题?我只是想使用加密的 TCP 连接:)
python - Python socket.send() 只能发送一次,然后 socket.error: [Errno 32] Broken pipe 发生
我是网络编程的新手,所以如果这是一个愚蠢的问题,请原谅我:) 我使用 Python2.7 在 Ubuntu 10.04.2 上创建了 1 个客户端和 1 个 SocketServer.ThreadingMixIn 服务器,但似乎我只能调用 sock .send() 一次在客户端,然后我会得到:
这是我写的代码:
测试客户端1.py:
测试服务器.py:
我在 2 个单独的终端中运行它们:
第一个终端的输出:
第二个终端的输出:
我尝试在 testClient.py 中直接调用 sock.send() 两次,例如:
但是终端的输出仍然相同:(谁能指出我在这里做错了什么?谢谢!
这是我想出的[Sol]。谢谢马克:)
测试客户端1.py:
测试服务器.py:
python - Python SocketServer.TCPServer 请求
我一直在玩 Python 的 SocketServer:
通过阅读源代码,我知道作为参数RequestHandler.__init__()
接收并在.request
self.request
我在哪里可以找到request
对象的规格?
python - (有没有)python socketserver 相对于常规套接字对象的性能优势?
感谢迄今为止有趣的回应。根据上述回答,我稍微改变了我的问题。
猜猜我真正需要知道的是,socketserver 与设计用于处理延迟和压力时期的直接套接字库相反,即它是否具有其他机制或功能来证明其作为“服务器”的隐含广告状态是合理的?还是只是更容易使用?
每个人似乎都在推荐socketserver,但我仍然不完全清楚为什么,而不是socket。
谢谢!!!
我已经基于标准套接字库 http://docs.python.org/library/socket.html在 python 中构建了一些服务器程序
我注意到它们似乎工作得很好,只是在没有负载的情况下它们会在一段时间后进入睡眠状态。我想这可能不是生产中的问题(毫无疑问会有很多其他问题),但我想知道我是否在这里使用了正确的代码来完成这项工作。
环顾四周,我看到 python 还提供了一个 socketserver 库 - http://docs.python.org/library/socketserver.html
套接字库提供了侦听多个连接的能力,通常最多 5 个。
根据socketserver页面,它的服务是同步的,即阻塞,但可以通过线程支持异步行为。我确实注意到它能够维护一个请求队列,默认值最多为 5 个请求......所以那里可能没有太大区别。
我还读到 Twisted 在后台运行 socketserver。虽然我宁愿不进入 Twisted 大小的野兽,除非它是值得的。
所以我的问题是,socketserver 是否比 socket 更健壮?如果是这样,为什么?
(你怎么知道?)
顺便说一句,socketserver 是建立在 python 的套接字之上还是完全独立的?
最后,作为奖励,如果有人知道有人会做错什么以致标准插座“睡着”,请随时加入。
哦,我在这里说的是 python 2.x 而不是 3.x,如果这有区别的话。
谢谢大家!
jsh
好吧,我没有技术答案,但我已经按照人们的建议实施了 SocketServer,它肯定更可靠。如果有人提出低级解释,请告诉我......谢谢!
python - Python 的 Socketserver 到 Telnet 错误
我正在编写一个小型服务器和客户端,目的是为了好玩,并学习如何使用套接字,以及如何进行一些简单的网络连接。它使用 Telnet“协议”向服务器询问我的用户名,然后我输入密码。服务器在获取“NICK”作为用户名时会抱怨,它是这样发送的: connection.write(bytes("NICK\n", 'latin1'))
连接是一个 Telnet 对象。它说“预期的整数参数,浮动”并且客户抱怨说
有谁知道发生了什么?
这是客户端和服务器的完整代码:
客户:
服务器:
谢谢,尽管我的代码可能看起来像猴子写的。
java - Java Socket Server -- 重定向到 Web 应用程序(Web 服务)
我有以下要求:
我需要创建一个侦听传入请求的套接字服务器。套接字客户端是用 C 编写的。客户端发送 JSON 数据。
客户端输入需要重定向到不同的来源。例如,可能需要调用内部或外部 Web 服务(SOAP、JAX-WS)。
我的问题是,实现这种沟通的最佳方式是什么?
python - 在 preforking 守护进程中管理数据库连接的最佳方法是什么
我对 python 很陌生,并且正在使用 pythons SocketServer.ForkingTCPServer 创建一个需要连接到数据库(mysql)的网络脚本。我预计该程序每秒会受到 30 到 40 次左右的攻击。是否可以跨进程共享相同的数据库连接?
python - 使用 python socketserver 如何将变量传递给处理程序类的构造函数
我想将我的数据库连接传递给 EchoHandler 类,但是我根本不知道如何做到这一点或访问 EchoHandler 类。
python - 如何使用 python SocketServer 创建连接超时
再会!我被写成简单的服务器:
如何设置连接超时。我希望当客户端不向我发送数据并且在 30 秒内不活动时,服务器将关闭连接。
PS对不起我的英语。
更新