TLDR:如果不在本地主机上的人拥有服务器IP,则允许他们连接到我的聊天服务器。 我开始学习Java中的套接字编程,遇到了一个似乎无法解决的问题。我已经创建了一个基本的聊天程序,其中包含使用套接字的服务器和客户端。这在localhost中可以很好地工作,但是我想与朋友分享。我搜索了几个小时,却找不到真正的解决方案。从我读过的书中,我需要将ServerSocket与IP或端口绑定。只是寻找一些澄清和可能采取的步骤。 我如何启动服务器 ServerSocket server = new ServerSocket(505…

2020年12月1日 0条评论 28点热度 阅读全文

我正在开发一种基于事件的结构的游戏,其主要游戏逻辑托管在服务器上。当前,这是一个非常小的功能集,仅允许在两个参与者之间托管一个游戏。我读过有关ServerSocket的各种问题,但没有一个回答我的问题。我已经看过了 ServerSocket accept continues to blockServerSocket.accept()Java ServerSocket won't accept new connections until close() is called on the accepted socket…

2020年12月1日 0条评论 44点热度 阅读全文

以下代码在JavaSE 6中工作正常,但是在JavaSE 7中执行时抛出ConnectException(超时)。这是JDK7错误还是错误代码?我真的不明白 public static void main(String[] args) { try { URL url = new URL("http://dl.dropbox.com/u/34206572/version.txt"); url.openConnection().connect(); } catch (MalformedURLException e) {…

2020年11月30日 0条评论 44点热度 阅读全文

因此,我正在为我的iPhone编写一个应用程序,该应用程序通过AsyncSocket连接到运行Java应用程序的计算机。但是,当我尝试将数据从iPhone发送到Java应用程序时,只有在退出iPhone应用程序时,数据才会打印出来。为什么会发生这种情况,我该如何解决? 解决方案如下: 不确定,但是听起来好像您没有将输出刷新到套接字(在关闭时,在应用程序关闭时,可能会被强制刷新)。

2020年11月27日 0条评论 94点热度 阅读全文

我想在传出数据包中被动包含其他数据,并从传入数据包中检索它。有没有办法在Java中做到这一点?基本上,我需要一种方法来挂钩,否则将在网络堆栈中填充自己的子层。 解决方案如下: 在C ++中执行此操作的常用方法是libpcap或Winpcap库。它的Java包装器也已实现,可以为found here。 对于数据包注入问题,您可以使用libnet。不幸的是,它没有任何Java包装器,您应该使用jni编写自己的Java包装器。

2020年11月27日 0条评论 35点热度 阅读全文

我有一个由16台计算机组成的网络,这些计算机都链接到同一交换机,但未连接到Internet。 16台计算机中的一台具有运行中的小型Java应用程序以及BlazeDS服务器(也就是在端口上侦听消息)。 当前,其他15台“客户端”计算机必须手动输入Java应用程序所在的“服务器” IP。我的客户端应用程序是Adobe Air,因此我无法扫描服务器。 我当时想用Java或C++编写一个辅助应用程序/实用程序。至少,此应用程序可以向用户显示IP,然后用户可以将其输入到Air应用程序中;马虎,但总比没有好。 我敢肯定有一些工…

2020年11月26日 0条评论 37点热度 阅读全文

是否有可能创建一个始终在后台运行并持续监听来自特定手机号码和特定格式的消息并采取必要措施的android应用程序?这是我必须唤醒远程PC的想法(请参阅上一个问题)。为此,我需要使用2部android手机,即手机A和手机B。手机B位于偏远地区,并且始终通过wifi连接到无线网络。它一直在听来自A的消息(来自A的SMS)。现在,如果A向B发送诸如“在PC上唤醒EE:00:B3:2F:56:12密码”之类的消息,则B应该在后台解析此消息并将魔术包发送到具有特定Mac地址的PC。这只是一个想法。是否可以创建这种应用程序? …

2020年11月22日 0条评论 32点热度 阅读全文

我遇到了Java套接字API的一些问题。我正在尝试显示当前连接到我的游戏的玩家数量。很容易确定播放器何时连接。但是,似乎似乎很难确定何时使用套接字API断开了播放器。 在已远程断开连接的套接字上调用isConnected()似乎总是返回true。同样,在已远程关闭的套接字上调用isClosed()似乎总是返回false。我读过要真正确定套接字是否已关闭,必须将数据写入输出流,并且必须捕获异常。这似乎是处理这种情况的一种非常不干净的方法。我们只需要不断通过网络向垃圾邮件发送垃圾邮件,就可以知道套接字何时关闭。 还有其…

2020年11月20日 0条评论 41点热度 阅读全文

我有两个Java项目,它们通过字符串与套接字进行通信。一个是客户端,另一个是服务器。服务器通过“ ServerSocket”接受连接,并使用新创建的“ Socket”创建新的“ Session”(线程)。 同时,客户端只有一个“套接字”,连接该套接字后,客户端会创建一个“ ClientSession”(线程,与“会话”非常相似)。 我想要的是服务器通过“ USERNAME”字符串询问客户端他的用户​​名,然后客户端用他的用户名回答。但是答案永远不会回来。我认为这可能是BufferedReader和PrintWrit…

2020年11月20日 0条评论 32点热度 阅读全文

在对低延迟网络进行了一些基本的搜索之后,我提出了以下 list ,程序员和系统设计人员在着手进行低延迟网络时应考虑的事项: 硬件,系统和协议(protocol)的设计必须一起考虑 使用UDP而不是TCP开发协议(protocol)并实现简单的ack-nak,在应用程序级别 重新发送逻辑 减少消耗或打包数据的进程或线程的上下文切换次数(最好为零)。 为操作系统使用最佳选择器(选择,kqueue,epoll等) 使用高质量的NIC和带有大量板载缓冲区(fifo)的交换机 使用多个NIC,专门用于下行和上行数据流 减少其…

2020年11月19日 0条评论 30点热度 阅读全文