Tag: 网络编程

Netty IdleStateHandler的问题 – 我是以错误的方式测试它的吗?

我有一个玩具Netty服务器,我试图在他们的频道上没有发生任何事情时向客户发送心跳消息。 我通过telnet到服务器,写一条消息,然后不发送任何东西来测试这个,但我没有听到任何声音! 安慰: >>telnet localhost 6969 Trying 127.0.0.1… Connected to localhost. Escape character is ‘^]’. >>foo Did you say ‘foo’? MyPipelineFactory.java public class MyPipelineFactory implements ChannelPipelineFactory { private final Timer timer; private static final ChannelHandler stringDecoder = new StringDecoder(); private static final ChannelHandler stringEncoder = new StringEncoder(); private final ChannelHandler idleStateHandler; public MyPipelineFactory(Timer t) { […]

MulticastSocket.joinGroup()出错

我正在尝试在Java上执行一个简单的多播套接字示例。 MulticastSocket s = new MulticastSocket(6789); InetAddress group = InetAddress.getByName(“230.1.1.1”); s.joinGroup(group); 此代码生成错误:IP_ADD_MEMBERSHIP失败(硬件filter?) 任何想法?

如何在java中了解客户端套接字程序中的客户端端口和ip地址

我使用socket在java中创建了一个多客户端 – 服务器通信。 我有一个服务器和一个客户端。 我想用多个客户端测试我的程序。 我计划创建一个动态创建IP和端口的模拟器..为此我只想知道如何在套接字程序中设置客户端IP和端口。 任何人都可以帮助我…我使用InetAddress.getByName来获取客户端地址。 public Socket(Proxy proxy) { if (proxy != null && proxy.type() == Proxy.Type.SOCKS) { SecurityManager security = System.getSecurityManager(); InetSocketAddress epoint = (InetSocketAddress) proxy.address(); if (security != null) { if (epoint.isUnresolved()) epoint = new InetSocketAddress(epoint.getHostName(), epoint.getPort()); if (epoint.isUnresolved()) security.checkConnect(epoint.getHostName(), epoint.getPort()); else security.checkConnect(epoint.getAddress().getHostAddress(), epoint.getPort()); } impl = new SocksSocketImpl(proxy); impl.setSocket(this); } […]

java劫持套接字可能吗?

我突然发现自己想知道这个问题,是否有可能在java中劫持套接字? 假设服务器正在侦听端口5000,是否可以编写一个java程序来侦听端口5000,并通过端口5000将相同的数据转发到服务器。 这样做会涉及什么? 我觉得这涉及编写一个新的网络驱动程序,将数据传递给java编程,然后进行一些处理并将其传递回驱动程序,然后再将其发送到服务器。 当然所有这些处理也可以在驱动程序代码本身中完成〜 出于好奇,你会如何为Windows noob编写这个驱动程序?

如何在双栈操作系统上同时获取IPv4和IPv6

我有双栈机。 我的问题是我只使用IPv4 InetAddress address = InetAddress.getLocalHost(); 如果我使用网络接口API,那么我将获得所有IP地址,其中包括我的MAC地址以及IP地址的forms。 为什么-DO-I-GET-多全球IPv6的地址上市的function于使用ifconfig 现在有什么方法可以同时获得我的机器的IPv4和IPv6。

是否有可能让sockets保持无限时间

我是网络编程的新手。 我感兴趣的是可以通过Java服务器和C客户端之间的套接字建立网络连接并保持连接无限打开吗? 我想保持连接打开以在客户端之间交换XML数据。

使用multithreading在Java服务器中同时侦听两个端口

我正在构建一个简单的Java服务器,它同时使用两个ServerSocket实例同时侦听两个端口上的客户端请求。 这是Server的代码: import java.io.PrintWriter; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; class Socket1 implements Runnable { public void run() { try { ServerSocket serverSock=new ServerSocket(5000); while(true) { Socket sock=serverSock.accept(); PrintWriter writer=new PrintWriter(sock.getOutputStream()); String text=”Welcome to Port 5000″; writer.println(text); } } catch(Exception e) { System.out.println(“Error”); } } } class Socket2 implements Runnable { public void run() { […]

为什么DatagramSocketImpl joinGroup方法需要一个NetworkInterface,如果套接字必须已绑定到它?

只是好奇。 那是多余的吗? 你有没有绑定到你想要使用的网络? 也许这就是你绑定到0.0.0.0并且现在只想从接口X监听多播数据包的情况?

如何以正确的顺序生成自动化的客户端 – 服务器Java网络代码输出?

首先让我说我知道这是很多代码,所以请耐心等待。 我正在开发一个项目,我正在将Oracle的Knock-Knock客户端/服务器示例移植到美国的State-Capital示例中。 因此,它不是KnockKnock笑话,而是运行一系列州资本查询。 它的运行大致如下: 服务器:我可以向您发送州资本查询吗? 客户:好的 服务器:发给我一个州,所以我可以寄一个资金? 客户:阿拉巴马州 服务器:阿拉巴马州的首府是亨斯特维尔。 想要另一个(是/否)? 客户:n 执行此项目的动机是稍后演示某种类型的故障安全function(在我开始工作之后,我想使用Powershell并使用它来将客户端 – 服务器作为一个单元运行)。 回到我的代码。 当我运行它时,它给了我以下输出,这不是我正在寻找的。 它应该是同步的,以便客户端和服务器一次处理一个状态。 相反,客户端跳过服务器端,并没有到达怀俄明州的最后状态。 我尝试根据这个问题添加一些同步。 我已经在pastebin上链接了完整的代码 FixedMessageSequenceClient FixedMessageSequenceServer FixedMessageSequenceProtocol 在代码中,我使用整数的简单文本日志文件: 1 2 3 4 注意:我正在使用Apache ReversedLinesFileReader库。 我怀疑我的错误是因为Java IO写入花费的时间太长。 我想可能是因为这段代码: for (int i = modlastNum; i < KKJokes.length ; i++){ String fromServer = br.readLine(); out.println(KKJokes[ i % KKJokes.length ]); if ( (i […]

检索Java net.properties文件中定义的默认值

如果我正确理解Java Networking和Proxies ,则jre/lib/net.properties文件包含在运行时填充到系统属性中的默认值。 我的net.properties文件包含以下内容: http.nonProxyHosts=localhost|127.*|[::1] 但是当我在Eclipse 4.5中运行我的Java应用程序时, System.getProperty(“http.nonProxyHosts”)返回null 。 我没有在我的应用程序中的任何位置定义或覆盖此值。 我怎样jre/lib/net.properties在运行时检索jre/lib/net.properties中定义的http.nonProxyHosts的值?