jjzjj

InetSocketAddress

全部标签

java - 为什么 Windows Java 无法绑定(bind)到已经绑定(bind)的端口?

我们在响应请求的时候有绑定(bind)到同一个本地端口的需求。以下是Java代码示例。在Linux上我们可以绑定(bind)到同一个端口两次,但在Windows上,我们在第二次绑定(bind)时出错。错误是BindException:地址已在使用中。用C编写的类似程序允许我们绑定(bind)两次。是什么阻止了Windows上的Java执行此操作?是否有允许绑定(bind)的注册表设置?importjava.net.InetSocketAddress;importjava.net.Socket;importjava.net.SocketAddress;publicclassSocketT

Java - 带有重音符号的 InetSocketAddress 主机名

我在与主机名中带有重音符号(éèô...)的服务器建立连接时遇到问题。例如:StringoUrl="www.hôtel.fr";System.out.println(oUrl);InetSocketAddressisa=newInetSocketAddress(oUrl.toString(),80);System.out.println(isa.isUnresolved());ISA永远不会被解析。它适用于www.google.fr。我尝试对主机进行URLEncode(使用UTF-8字符集的URLEncoder,因此主机名是www.h%C3%B4tel.fr)但没有结果。有没有人有一些

java - 客户端套接字 - 获取 IP - java

我正在使用套接字实现TCP连接,我需要在服务器端获取客户端套接字的IP。我使用了socketName.getRemoteSocketAddress(),它确实返回了IP地址,后面跟着我正在使用的端口ID!我怎样才能只得到地址而不是端口? 最佳答案 返回的SocketAddress实际上是一个protocol-dependentsubclass.对于Internet协议(protocol),例如您的TCP,您可以将其转换为InetSocketAddress:InetSocketAddresssockaddr=(InetSocketAd

java - java InetSocketAddress 绑定(bind)到哪个临时端口?

我想要实现的目标将服务器绑定(bind)到临时端口以进行单元测试。我的问题:使用1.5.0_22JDK,我尝试按照javadoc使用端口0将InetSocketAddress绑定(bind)到一个临时端口上,但我无法从地址对象中找到一种方法来知道它绑定(bind)到哪个端口,所以我不能对我的客户进行相应配置:InetSocketAddressaddress=newInetSocketAddress(0);assertThat(address.isUnresolved(),is(false));assertThat(address.getPort(),is(0));我可能没有正确理解ja

java - 在 Java 中查找空闲端口

我需要在Java应用程序中找到空闲端口。为什么下面的代码不起作用?它总是返回0。publicintfindFreePort(){intportNumber=newInetSocketAddress(0).getPort();returnportNumber;}newInetSocketAddress()的Java文档说:创建一个套接字地址,其中IP地址是通配符地址,端口号是指定值。有效的端口值介于0和65535之间。端口号为零将使系统在绑定(bind)操作中选择临时端口。 最佳答案 实际上,您输出的是您在构造函数中指定的端口成员。所

java - Apache 米娜 : how to get the IP from a connected client

谁能告诉我如何从连接的客户端获取IP地址?目前我已经找到了session.getRemoteAddress().toString()并返回类似的东西/192.168.1.100:49879这样可以吗?我可以做一些只能返回192.168.1.100的事情吗?当我使用套接字时,我使用的是类似这样的东西:socket.getInetAddress().getHostAddress();在apachemina中使用IoSession有类似的东西吗? 最佳答案 将getRemoteAddress()返回的SocketAddress向下转换为I

java - 无法使用 php memcached 获取使用 spymemcached 设置的项目

我正在使用spymemcached。我设置了几个项目。然后我运行一个php脚本,但是我无法使用phpmemcached获取所有这些项目。PHP-Memcached只能部分检索这些项目。我无法更改php的散列算法或分发策略。在我们的系统中,我们使用默认散列(根据php.net文档,这是jenkin的一次一个)。分配策略是php-memcached的模数。我读过spymemcached使用一致的散列。有什么方法可以在spymemcached中使用模哈希。换句话说,我怎样才能使spymemcached的设置操作或任何其他存储操作与php-memcached的获取操作兼容?如果spymemca

tcp - ns-3 wlan grid TCP 在 UDP 运行时不工作

我正在尝试在ns-3中设置多跳AdHoc802.11g网络。首先,我使用了示例“wifi-simple-adhoc-grid.cc”。示例使用UDP,但我想使用TCP。所以我换了TypeIdtid=ns3::UdpSocketFactory::GetTypeId();PtrrecvSink=Socket::CreateSocket(c.Get(sinkNode),tid);InetSocketAddresslocal=InetSocketAddress(Ipv4Address::GetAny(),80);recvSink->Bind(local);recvSink->SetRecvCa

java - 如何在 Java 中更改 source-ip(tcp)

是否可以在Java中更改TCPheader?如果可以的话,有没有【ChangeHeader】的方法? 最佳答案 从您的问题标题(“如何在Java中更改源ip”)回答更狭窄的问题,您可以在连接之前将您的套接字绑定(bind)到本地IP地址和/或端口它到目的地。您绑定(bind)的IP地址必须是您的机器拥有的IP地址(否则,数据包如何返回您的机器?)。您还可以使用任何未使用的、非保留的端口号来连接。Socketsocket=newSocket();socket.bind(newInetSocketAddress(9999));//or:

java - Netty:在messageReceived中获取远程IP地址

在我的类(class)(扩展SimpleChannelHandler)中,我正在尝试获取最初发送消息的ip。@OverridepublicvoidmessageReceived(ChannelHandlerContextctx,MessageEventev)throwsException{Stringhost=((InetSocketAddress)ctx.getChannel().getRemoteAddress()).getAddress().getHostAddress();intport=((InetSocketAddress)ctx.getChannel().getRemot
12