问题标签 [serversocket]

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 投票
1 回答
1386 浏览

java - 从本地机器连接到 ServerSocket

我对 java 还很陌生,目前正在尝试使用套接字和缓冲区。

我想尝试的只是从一个本地 java 应用程序和另一个实例化连接。我正在使用 ServerSocket 和 Socket。

服务器应用程序有一个监听连接的线程:

“客户端”只是向服务器发送一个字符串(它应该,但我不能让它工作):

我确信端口已经打开并转发到本地机器。我检查了http://canyouseeme.org/

我还尝试使用我的外部 IP 地址作为客户端中套接字的 IP。它也没有工作。

任何帮助表示赞赏:)。

麦克风。

0 投票
2 回答
1020 浏览

java - Java ServerSocket WebSocket 回复

我正在尝试使用 Java 创建自己的 WebSocket 服务器。

当我的客户端连接时,我收到以下请求:

(括号中的数字、括号、冒号和之后的空格只是我为 System.out.println() 命令添加的内容)。括号中的数字是行的长度(以字节为单位)。

我首先使用这个函数处理请求:

现在,根据这篇文章并假设它是我需要处理的协议的第一个版本,我一直想知道如何处理商:

问题是,对于每个键,我需要将位数除以空格数。我一直在这样做:

并调用以下函数(replyHandshake()):

然后,在其他地方:

难道我做错了什么?我正在使用最新版本的 Google Chrome 对其进行测试。

提前致谢!

0 投票
4 回答
18873 浏览

java - Java - 通过浏览器/URL 连接到 ServerSocket

我正在编写一个软件,并且我受到无法使用套接字连接到使用 ServerSocket 的 java 应用程序的限制。

我想我会尝试使用 URL 连接,因为可以定义要连接的端口

例如:

我让我的服务器应用程序监听连接并将输入输出到 jTextArea。通过浏览器连接到服务器(127.0.0.1:62666)时,输出:

我有另一个通过 URL 连接连接到 ServerSocket 的应用程序:

它打印出“应该工作”消息仅供参考,但它从不向服务器的 jTextArea 写入任何内容。服务器应用程序的代码如下所示:

注意:通过浏览器连接时,它会显示文本“Testing123”。

所以我想知道如何以我尝试的方式执行此操作,或者可能读取访问 ServerSocket 的 URL,因此我可以在传递参数(在 URL 中)时通过 URL 访问它。

希望这是有道理的:)

谢谢,迈克。

0 投票
1 回答
2761 浏览

java - 调用 ServerSocket.close() 是否足以关闭端口?

我有一些类似于此的 java 代码:

...等等等等。当我稍后调用 server.close() 时(如果我先调用 socket.close(),我不会得到任何不同的行为),我没有收到任何错误,但 netstat 显示端口仍在被监听。调用 ServerSocket.close() 是否足以释放该系统上的端口?

我正在为 Java 1.4.2 微版本运行时编程。还值得注意的是,我让这个方法在另一个线程中运行,并且我正在尝试从其父线程关闭套接字。

编辑这是来自 netstat 的行,尽管我可以向您保证它仍在被监听,因为如果我再次启动 Xlet,我会收到该端口号的异常。

0 投票
1 回答
123 浏览

java - Java套接字系统地址

如何识别连接同一个调制解调器或共享同一个互联网连接的不同系统?我申请getHostAddress()了'getHostName()' Connection(这是socket.getInetAddress()),但看起来它们看起来都一样。

我只是想知道连接的不同用户是否来自同一系统共享相同的 IP。

0 投票
1 回答
3114 浏览

java - 蓝牙 Android 开发者代码

我引用了Android Developer 的代码。在编译了代码并解决了一些错误之后,我无法弄清楚这一点。

Handler 类型中的方法 gainMessage(int, int , object)不适用于 arguments (String, int ,int, Byte[])

以前使用过此代码的人能否告诉我我需要做哪些广告或我缺少什么。它可能非常简单。谢谢你。

0 投票
2 回答
782 浏览

java - ServerSocket 文件传输丢失字节

问题

我已经通过数据包嗅探器确认来自客户端的所有数据都已完全发送,并且服务器正在接收的数据也是完整的,但是有一个小问题。

这是服务器中客户端线程相关部分的基本表示。

服务器将使用 BufferedReader 读取身份验证数据,一旦身份验证完成,它将从套接字读取数据,如下所示。变量“fos”是 DataInputStream 数据正在写入的 FileOutputStream。

这一切在概念上似乎都是正确的,但实际上,读入的文件的前 1450 个字节丢失了。我尝试使用新的 DataInputStream(sock.getInputStream()) 以防流中的位置很奇怪但仍然没有运气。谢谢你的帮助!

更新 1

所以我可以使用 BufferedReader 功能,我创建了一个读取字符串行的方法,就像我之前使用它们一样。请参见下面的代码。

尽管看起来是一个很好的解决方案,但仍然缺少 1450 字节的信息。也许我在这里走错了方向?

0 投票
1 回答
1178 浏览

android - Android:ServerSocket.accept() 随机冻结

我有一个WebView通过ServerSocket本地主机上的后台线程提供的。这很好用,但有时后台线程会随机停止接受请求(“网页不可用”)。一段时间后,它再次工作而没有任何变化,即无需重新启动线程或套接字或accept()再次调用。

编辑2:进一步调查表明,WebView似乎有一个(单独的?)本地主机连接的超时值非常小,以至于有时服务器线程没有机会处理请求。作为一种解决方法,我可以在WebClient.onReceivedError调用时重新加载页面,最终加载页面。有人有同样的问题吗?

当我打开调试器时,我可以看到服务器线程仍在正常运行,并且在ServerSocket.accept()方法(或者更准确地说,在)中等待(阻塞OSNetworkSystem.accept(...))。但是,accept()似乎没有收到传入的请求。

我的代码没有什么特别的:

我在 Windows/Mac 上使用相同的代码,从未遇到过任何此类问题。

在我看来,这似乎是 Android 中的一个错误,可能与电源管理优化有关。有什么线索吗?

编辑:该问题不会出现在 Android 2.x 上,仅出现在 Android 3.1(三星 Galaxy Tab 10.1)上。

0 投票
1 回答
1685 浏览

java - Java 聊天服务器应用程序 - 向所有连接的客户端预测消息时出现问题?

0 投票
2 回答
1278 浏览

java - 查找开放端口 TCP 通信

我正在编写一个像 AIM 这样的 Java 应用程序,我想要一个查找服务器来帮助两个客户端使用 ServerSocket 类相互连接。不幸的是,serversocket 需要一个开放的端口,否则它将被您的防火墙阻止。在没有客户端手动更改其防火墙设置的情况下,有一种方法可以找到一个打开的端口,打开一个端口(如果它要求许可也没关系)我只是不希望每个客户端都必须手动更改防火墙设置。谢谢!