java里socket客户端怎么自动绑定服务器ip

我在我的电脑上写的客户端和服务器程序,但每次重启电脑我的ip就变了,也就是服务器ip变了,那么客户端怎么才能自动获得服务器的ip呢?... 我在我的电脑上写的客户端和服务器程序,但每次重启电脑我的ip就变了,也就是服务器ip变了,那么客户端怎么才能自动获得服务器的ip呢? 展开
 我来答
蒙MengNum1
2016-04-22 · TA获得超过2494个赞
知道大有可为答主
回答量:3004
采纳率:87%
帮助的人:843万
展开全部
java中的socket客户端只需用服务器所在机器的ip以及服务器的端口作为参数创建一个Socket对象就可以了,客户端的代码可以看下实例:
Socket socket = new Socket("168.160.12.42",9998);
或:
Socket socket = new Socket(InetAddress.getLocalHost(),5678); // 向主机名为InetAddress.getLocalHost()的服务器申请连接

客户机必须知道有关服务器的IP地址,对于着一点Java也提供了一个相关的类InetAddress 该对象的实例必须通过它的静态方法来提供,它的静态方法主要提供了得到本机IP 和通过名字或IP直接得到InetAddress的方法。

in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
out = new PrintWriter(socket.getOutputStream(),true);

以上的程序代码建立了一个Socket对象,这个对象连接到ip地址为168.160.12.42的主机上、端口为9998的服务器对象。并且建立了输入流和输出流,分别对应服务器的输出和客户端的写入。
追问
InetAddress.getLocalHost()这个是返回本地主机,我如果把服务器端放在别的电脑上,那客户端能正常运行吗?
Storm代理
2023-07-25 广告
StormProxies是一家国内优质海外HTTP代理商,拥有一个庞大的IP资源池,覆盖200多个地区,IP数量大且匿名度高。其优点还包括超高并发、稳定高效、技术服务等特点,同时提供HTTP、HTTPS以及SOCKS5协议支持。此外,Sto... 点击进入详情页
本回答由Storm代理提供
xietengxiang
2016-04-22 · TA获得超过266个赞
知道小有建树答主
回答量:125
采纳率:100%
帮助的人:45.1万
展开全部
使用“127.0.0.1”
不管你的电脑ip变成多少,“127.0.0.1”代指 本机ip
追问
我现在的想法是把服务器放到别的机器上,然后启动客户端去连接,怎么实现呢?
追答
在服务端启动socket监听程序,客户端去连服务器的IP地址就行了!
举例(手写伪代码) :
在服务器端
Socket sock=new Socket("8080");
while(true){
data = sock.getInputStream();
//data 转成String型的数据str
if("msg"。equals(str)){
//todo....

}

}
在客户端
public static void main(String[] args) {
Socket sock = new Socket("服务器IP", "8080");
BufferedOutputStream out = new BufferedOutputStream(sock.getOutputStream());
out.write("msg".getBytes());
out.flush();
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式