问题标签 [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 回答
218 浏览

linux-kernel - 如何在 UNIX 域套接字上配置 UDP 的路径?

我是套接字编程的新手。我正在尝试使用 DATAGRAM 建立一个 UNIX 域套接字。我在 struct sockaddr_un中查找了有关sun_path配置的信息一段时间,似乎没有足够的资源来帮助我。

我创建了 3 个文件,unix_socket.c(为套接字连接提供接口)、udp_server.c 和 udp_client.c,都位于目录“/home/Socket ”中。当我将sun_path设置为“home/Socket”时,服务器端总是会生成错误“地址已在使用中”。我也尝试使用“localSocket”“echo_socket”,但客户端总是会生成错误“没有这样的文件或目录”。

我不知道是怎么回事。有人可以帮我解决吗?非常感谢。

非常感谢

0 投票
2 回答
198 浏览

java - Socket服务器:应该提供类似shell的接口

我使用套接字实现了 Web 服务器(构建目录列表服务)。

我不知道如何提供一个文本(shell-like)界面。

这基本上是必需的,因为用户可以输入命令以调用适当的服务器操作,例如查看用户共享的所有文件等。

如果服务器已经在运行,我们如何将命令行界面与该服务器结合起来。

任何人都可以请帮忙。

谢谢

0 投票
2 回答
1593 浏览

java - Socket Programing java - 套接字连接存在多长时间?我该如何控制它?

如果我不对套接字执行任何操作,您知道如何使套接字连接保持活动状态吗?我刚刚注意到,如果我的连接在后台并且我不操作它,我会得到:

那么,我怎样才能控制连接在空闲时间后不会丢失,默认情况下会在多长时间后发生呢?

0 投票
2 回答
2802 浏览

java - Java ServerSocket 和 Android LocalServerSocket

我已经实现了自己的android服务如下

我面临的问题是,如果我的 LocalServerSocket 在 accept() 中阻塞,那么在 OnDestroy() 中对 server.close() 的调用将不会引发 SocketException。因此,下次我启动服务时,我得到“地址已在使用异常”。如果我使用 java.net.Socket 而不是 LocalServerSocket,那么我会得到所需的行为。我想知道为什么 LocalServerSocket 的行为与 Java 套接字不同。就我而言,我如何摆脱 while 循环。

0 投票
1 回答
280 浏览

java - 将 SAX 与 JAVA ServerSocket 类一起使用

我将构建一个非常简单的基于 JAVA 的即时通讯工具。

我决定使用 XML 和 SAX 在服务器和客户端之间进行通信。

(我认为这对我的安卓编程技能是一个很好的练习。这就是我选择的原因。)

我正在尝试使用 XMLReader、ServerSocket 和 BufferedReader 类。

但是,当我搜索任何资源或示例来实现它们时,我找不到。

有谁可以给​​我看一个例子或告诉我如何实现它?

非常感谢让我知道是否有其他更好的方法。

谢谢你。

0 投票
2 回答
2044 浏览

android - 本地机器连接到 Android 模拟器

只是找到相反的答案!

在使用 IP 10.0.2.2 托管在本地计算机上时,我可以让我的模拟器连接到我的服务器。但是,当我尝试从本地计算机连接到我的主机模拟器时,它不起作用。

在这种情况下,我使用 IP 127.0.0.1,我得到一个 ConnectException:连接被拒绝。奇怪的是,当我在模拟器上托管和使用客户端时,它工作得很好。

那是怎么回事?

0 投票
2 回答
8402 浏览

sockets - 将 getaddrinfo() 与 AI_PASSIVE 一起使用

getaddrinfo()功能不仅允许客户端程序有效地找到为给定主机创建套接字的正确数据,它还允许服务器绑定到正确的套接字 - 理论上。

我刚刚了解了这一点,并开始通过 Python 使用它:

产量

是什么让我想知道是否有问题。

我究竟应该如何处理这些答案?我是不是该

  • 制作listen()所有这些答案的 ing 套接字,或者我应该
  • 只选择第一个真正有效的?

联机帮助页中的示例建议我只使用第一个并且如果它没有错误就对其感到满意,但是我只能通过 IPv4 在我的示例中获得连接。

但是如果我尝试所有这些,我不得不担心 2 个服务器套接字,这是不必要的,因为如果满足某些条件(操作系统、套接字标志等),IPv6 服务器套接字也会监听 IPv4。

我在哪里想错了?


编辑:显然,我没有想错,但我的电脑做错了事。/etc/gai.conf我使用OpenSUSE 附带的默认设置。如果有人能指出我正确的方向,那就太好了。

编辑 2:在给定的情况下,strace在阅读后在内部进行以下调用/etc/gai.conf(现在使用端口 54321,因为我认为使用端口 22 可能会产生一些不良影响,但事实并非如此):

显然,该决定旨在根据getsockname()通话结果进行......

顺便说一句:https : //bugs.launchpad.net/ubuntu/+source/eglibc/+bug/673708 和那里提到的其他错误报告证实了我的观察。那里有几个人声称新行为是正确的,所以我显然坚持使用AF_INET6... :-(

0 投票
1 回答
2576 浏览

sockets - ServerSocket 和 Socket 可以使用同一个端口吗?


现在我想用一个serversocket来监听端口x,同时我想用端口x建立一个到其他serversocket的socket,也就是说有一个serversocket,一个socket会使用同一个端口,可以吗?
我知道对于socket,它是四元组,一个端口可以有多个socket,但是对于一个socket和serversocket呢?
感谢您的关注!

0 投票
2 回答
4709 浏览

java - 全双工服务器套接字实现,单独的读写线程?

我想在同一个服务器套接字(java应用程序)上读取和写入(随机从服务器到客户端)。我的客户端到服务器的写入和读取在循环中正常工作。在服务器上正确写入响应。

但是如果我想在服务器上随机写一些命令。我没有解决方案,首先我的问题是:

  1. 服务器端是否可以在同一个套接字上向客户端 ramdonly 写入命令?
  2. 如果可能的话,有什么建议或指示怎么做?
  3. 请给我一些指示,我可以在哪里阅读有关这种情况的材料?

提前致谢。

0 投票
8 回答
46845 浏览

java - java.net.SocketException:无效参数:连接

java.net.SocketException: Invalid argument: connect当我运行以下基本代码时,我的新笔记本电脑 (Alienware m17x) 会抛出错误:

服务器.java:

客户端.java:

每次我运行 Client.java(在启动 Server.java 之后)我都会得到这个套接字异常。这是异常的完整跟踪:

我已经尝试了一些事情,但没有运气总是抛出异常。以下是我的结论:

  • 更改端口号不会改变任何内容。
  • 这不是网络的问题。我在学校和家里都遇到了例外。
  • 我已经重新安装了 JVM 和 JDK,但没有运气。
  • 这只发生在一台机器上。我在我的桌面上运行了相同的代码,我没有遇到任何异常。我在两者上都使用 Windows 7。
  • 它不会被防火墙阻止。我已经关闭了我的防火墙,但我仍然有这个问题。

我应该怎么做或检查才能解决这个问题?

编辑: 路由打印输出:

编辑:正如@PhilippeLM 和@beny23 让我意识到的那样,将java 系统变量java.net.preferIPv4Stack 设置为true 可以解决我的问题。但是我想要一个永久修复。我不想在每次运行 java 应用程序时都指定系统变量。

这是我再次尝试但没有运气的方法:

  • 按照以下步骤将我的机器首选项设置为首选 IPv4
  • 将该行添加java.net.preferIPv4Stack=true到.net.properties%JAVA_HOME%\jre\lib

还有什么我可以尝试的吗?