问题标签 [sockets]
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 中使用套接字的 HTTP 1.1 持久连接
假设我有一个 java 程序,它使用 HTTP 1.1 在服务器上发出 HTTP 请求并且不关闭连接。我提出一个请求,并读取从绑定到套接字的输入流返回的所有数据。但是,在发出第二个请求时,我没有得到服务器的响应(或者流有问题 - 它不再提供任何输入)。如果我按顺序发出请求(请求,请求,读取)它工作正常,但(请求,读取,请求,读取)没有。
有人可以对为什么会发生这种情况有所了解吗?(代码片段如下)。无论我做什么,第二个读取循环的 isr_reader.read() 只返回-1。
对问题的回答:是的,我收到了来自服务器的分块响应。由于外部限制,我正在使用原始套接字。
为代码混乱道歉 - 我正在从内存中重写它,似乎引入了一些错误。
所以共识是我必须要么做(请求,请求,读取)并让服务器在我结束时关闭流,或者,如果我做(请求,读取,请求,读取)在我结束之前停止流,以便流不会关闭。
java - 在 Java 中检测无法访问的主机的最快方法是什么?
我想要boolean isReachable(String host, int port)
在以下条件下通过以下 JUnit 测试的最快、最准确的函数。超时值由 JUnit 测试本身指定,并且可能被视为“无法访问”。
请注意:所有答案必须与平台无关。这意味着这InetAddress.isReachable(int timeout)
不起作用,因为它依赖端口7
在 Windows 上执行 ping(ICMP ping 在 Windows 上是一个未记录的功能),并且此端口在此设置中被阻止。
局域网设置:
thisMachine
(192.168.0.100
)otherMachine
(192.168.0.200
)- 没有机器被调用
noMachine
或没有 IP192.168.0.222
(总是无法访问) - 两台机器都在端口上运行 Apache Tomcat
8080
;所有其他端口都无法访问(包括 port7
) example.com
(208.77.188.166
) 在端口上运行网络服务器,80
并且仅当 LAN 连接到 Internet 时才可访问
有时,LAN 与 Internet 断开连接,在这种情况下,只能访问由 IP 地址调用的本地计算机(所有其他计算机都无法访问;没有 DNS)。
所有测试都在thisMachine
.
以下测试仅在 LAN与 Internet断开连接时运行。
以下测试仅在 LAN连接到 Internet 时运行。
c# - 我无法通过 Internet 连接到我的服务器
我可以在本地计算机上运行服务器并在同一台计算机上连接到它,但是当我尝试通过 Internet 从另一台计算机连接到它时,我的服务器上没有活动迹象,也没有来自服务器的响应在我正在测试它的计算机上。我试过 XP 和 Vista,关闭防火墙,打开端口,以管理员身份运行;没有任何工作。:(
这是我用来接受传入连接的代码:
p>java - java连接到jabber
我需要使用什么类型的流通过 tcp 套接字向 jabber 写入连接请求消息。我正在写一个 xml 格式的字符串。它应该与默认套接字流或数据输出流一起使用,但它没有。
perl - 如何在 Perl 中使用原始套接字?
您如何在 Perl 中获得原始套接字,那么构建用于它的数据包的最佳方法是什么?
ruby - 如何使用 Ruby 找到免费的 TCP 服务器端口?
我正在尝试创建一个一次性 HTTP 服务器来处理单个回调,并且需要帮助以在 Ruby 中找到一个免费的 TCP 端口。
这是我正在做的事情的骨架:
(它将标准输入回显到第一个连接,然后死掉。)
我怎样才能自动找到一个空闲端口来监听?
这似乎是在远程服务器上启动作业的唯一方法,然后使用唯一的作业 ID 进行回调。然后可以查询此作业 ID 以获取状态信息。为什么最初的设计师在安排工作时不能只返回工作 ID,我永远不会知道。不能使用单个端口,因为可能会与多个回调发生冲突;这样,端口仅使用 +- 5 秒。
c# - 是否可以在 Socket 和 TcpClient 对象之间进行转换?
这是另一个 C#/.NET 问题,仅基于好奇而不是迫切需要...
如果你有一个Socket
实例并且你想将它包装在更高级别的TcpClient
类中,这可能吗?你会怎么做?
相反,如果您有 的实例TcpClient
,是否有可能获得基础Socket
?
python - 接收socket大小限制好不好?
我正在用 Python 编写一个程序,它将充当服务器并接受来自客户端的数据,对数据量施加硬性限制是个好主意,如果是,为什么?
更多信息:因此,某些聊天程序限制了每次发送(即每次用户按下发送)可以发送的文本量,所以问题归结为是否有正当理由,如果是,那是什么?
c# - C#流式套接字,如何分隔消息?
标题有点长,不过...
我一直在查看这些示例,特别是关于将消息大小写入和读取到字节流的部分
http://doc.trolltech.com/4.4/network-fortuneclient-client-cpp.html
http:// /doc.trolltech.com/4.4/network-fortuneserver-server-cpp.html
但我似乎无法在 C# 中弄清楚。
这根本不工作。有人可以在正确的方向上轻推我吗?
c - 如何使用 C 创建 TCP 套接字连接到预定义端口
我有一个非常简单的问题。我想测试一个特定的端口当前是否正在使用中。为此,我想将 TCP 套接字绑定到端口,如果连接被拒绝,则表示该端口正在使用中,如果不是,则表示该端口是空闲的。
有人可以告诉我如何用 C 编写 TCP 套接字代码吗?我在一个solaris平台上。
我知道它非常基本。但我感谢你的帮助。提前致谢。