当前位置:编程学习 > JAVA >>

java 的socket怎么判断服务端是否开启

tcp协议的,假设我服务端故意不开启。。。
那么我客户端怎么判断服务端是否开启??
想过用一般的方法,就是
socket = new Socket("192.168.1.4","1821");
socket.connect();
如果出现异常,服务端就是没有开启。。。

类似这种的,但是发觉开销比较大,每次都要新建这个socket,
感觉挺耗资源,有没有其它更加好的方法,
判断对方的服务端是否开启?? --------------------编程问答-------------------- 这样只能判断服务器是否正常,因为有可能端口被占用。

--------------------编程问答--------------------
引用 1 楼 zhangerqing 的回复:
这样只能判断服务器是否正常,因为有可能端口被占用。

首先我在确定,端口是绝对不会被占用的情况下。。。

客户端,该怎么去判断远方的服务端是否开启了??

我想实现自动连接服务端的,不知道大侠你怎么看?? --------------------编程问答-------------------- 一般来说连一下不可靠,就算连接上这个端口你能保证是你的服务端开启的端口?
所以还需要再发送一个约定的心跳请求,当这个请求正确响应你才能说服务端正常。 --------------------编程问答-------------------- 类似这种的,但是发觉开销比较大,每次都要新建这个socket,
感觉挺耗资源,有没有其它更加好的方法,

你这个结论就是错的,你感觉是耗了什么资源?
对于一个客户端的异步后台线程来说,这点根本算不上开销
补充:Java ,  Java相关
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,