问题标签 [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.
.net - TcpListener:如何监听所有接口上的特定端口?
构造 a 有三个重载TcpListener
:
public TcpListener(int port);
(过时)public TcpListener(IPEndPoint localEP)
public TcpListener(IPAddress localaddr, int port)
我想在一个特定的端口上监听,但在所有可用的接口上。有一个重载可以做到这一点,但它被标记为obsolete
.
TcpListener
在 .NET中的所有接口上侦听特定端口的新首选/非过时方法是什么?
为了帮助起见, anIPEndPoint
是:
这就是第三个重载。而 anIPAddress
作为它的构造函数:
- 一种
byte[]
- 一个
Int64
- 一个
byte[]
和一个Int64
linux - 如何知道远程端是否使用发送系统调用关闭了套接字?
send() 系统调用第一次成功,即使远端关闭了连接。如果我再次发送,则会生成 sigpipe。我不想使用 recv 系统调用来知道远程端是否关闭了连接。
那么有人可以告诉我如何检测远程端是否仅使用发送系统调用关闭了连接?
python - 如何为 Python socketserver 请求处理程序编写单元测试?
如何为 socketserver 请求处理程序编写单元测试?我尝试使用以下代码,但遇到了问题:
如果我尝试使用多个测试功能,像这样
我得到错误
就行了self.server = ...
,尽管我指示了测试服务器allow_reuse_address
。
编辑:删除了我最初发布的两个错误之一,以简化问题。
python - 在退出/崩溃时关闭服务器套接字
我正在学习如何在 python 中使用套接字,并且经常当我的程序崩溃或我 Ctrl+C 时,服务器套接字会以某种方式保持在端口上的侦听。这显然会阻止程序在重新启动时侦听该端口,所以我必须不断更改它。
我猜我需要在某个地方做 socket.close() ,但是在哪里呢?
python - 检查列表中断开连接的客户端?在蟒蛇
好的,这就是我想要在我的 python 套接字服务器中做的事情。
我正在尝试让我的服务器发送数据。但是,如果它在要使用的地址列表中找到断开连接的客户端。将其从列表中删除。另外,我正在使用 UDP 发送数据。因为这是用于游戏服务器。有点像:
希望这将有助于了解我正在尝试做什么。在你说“你为什么不直接使用 socket.select?”之前 好吧,根据我的尝试,我无法让 UDP 在 socket.select 中工作。并且以我在游戏引擎中的方式执行 TCP(我正在使用搅拌机)在执行 recv() 时会冻结。
java - 如何使用 SocketServer 与 Java 中的客户端开始通信?
首先,我对Socket通信的使用还很陌生,所以还有一些我不知道的东西。我了解 Java 中 Socket 通信的基础知识,所以我在这里寻求指导。
现在,关于我的问题,我需要与远程应用程序建立服务器套接字通信。在我的应用程序中,我将运行另一个应用程序上的客户端将与我通信的 serverSocket。为这种通信实现的部分协议是这个套接字必须一直打开,这为我们提供了两个应用程序之间的一个永久通信通道。
到目前为止没有什么很奇怪的。问题是我将需要使用 mi serverSocket 来开始与客户端的对话。这意味着我的 serverSocket 需要在没有客户端请求的情况下向客户端发送一些信息。
对于定义,我理解 serverSockets 是等待客户端打开与它们的连接的线程,一旦建立此连接,应用程序之间的对话通常以来自客户端的一些请求(即 ENQ 字符)开始,以开始信息交换;这是针对实施了一些协议来验证、发送和接收数据的情况。否则,信息是由客户端发送的,没有经过很好的验证和控制。
在正常情况下,如果 mi 应用程序可以使用 Client 与远程应用程序上的 serverSocket 通信,我的问题将以更自然的方式处理。但这种情况并非如此。远程应用不能有serverSocket,只能有Client(别问我为什么,这是一个业务伙伴的应用,不是我自己的,暂时他们不愿意改变他们的通信方案)。
考虑到这一点,我的问题是:当我的应用程序中的进程需要时,有一种方法可以使用我正在运行和等待的 serverSocket 将一些信息从我的应用程序发送到远程客户端?我如何从我的应用程序中的第三个 bean 调用 serverSocket 中的打开套接字来写入它?
python - 如何在 python 中使用 SocketServer 获取客户端的 Name 属性?
我正在使用一个类RequestHandler(SocketServer.BaseRequestHandler)
来处理与服务器的传入连接。
我正在尝试获取客户端的名称,该名称存储为将数据发送到此服务器的属性,但现在我只能通过询问self.client_address
which 返回一个像Name of client that sent request: ('127.0.0.1', 57547)
.
有没有办法询问发起连接的对象的属性?
python - 为什么这个socket连接只允许1次发送和接收?
背景
我有一个简单的套接字服务器设置,我试图允许同时连接并回显数据。客户端启动几个线程,每个线程都与服务器建立自己的连接。这适用于 socket.send() 调用,但所有后续调用都会导致“对等连接重置”或“管道损坏”。请注意,我没有找到切换重置和损坏管道的更改。我已经在这里寻找解决方案,但恐怕我可能不知道要搜索什么。
我是以错误的方式解决这个问题,还是我忽略了我的设置中的某些东西?
服务器
客户
python - 有没有办法让 BaseRequestHandler 类成为有状态的?
简短的问题
使用下面的示例,是否有一种 Pythonic 方式可以my_object
与 BaseRequestHandler 类共享实际实例?
背景
根据定义,BaseRequestHandler 类为每个请求创建一个新实例。正因为如此,我正在努力寻找如何将数据从handle()
函数中获取回ProtocolInterface
实例的解决方案。请注意,如果我需要执行handle()
打印到标准输出以外的其他操作,这可能是错误的方法。
在这个时间点上,我不相信全局变量会起作用,因为my_object
它被传入并且预计会经常更改(这就是为什么handle()
需要查看它。要查看示例客户端(发送虚假数据),请参阅我的其他 SO 问题。我认为我面临的最大问题是套接字服务器在后台线程中运行。
我想做的事的例子
python - 向 SocketServer 添加 SSL 支持
我有一个基于ThreadingTCPServer
. 现在我想为该服务器添加 SSL 支持。没有 SSL 它可以正常工作,但使用 SSLv3 我无法将客户端连接到服务器,它总是抛出异常:Error 111 Connection Refused
. 错误表示该端口上没有 SSL 服务器。
我根据在 Stackoverflow 找到的示例添加了 SSL 支持。这是我的代码:
服务器:
客户:
密钥和证书文件是使用开放 SSL 创建的。我希望有人能告诉我问题是什么。
感谢您的帮助
最好的问候帕特里克