java实现socket从服务器连续获取消息的示例
服务器端我们用软件模拟,是一个很小巧的软件,下载软件NetAssist:http://xiazai.jb51.net/201403/tools/NetAssist(jb51.net).rar
第二步贴上我们客户端的代码:
import java.io.DataInputStream;
import java.io.IOException;
import java.net.Socket;
public class Client {
public static final String IP_ADDR = "192.168.3.65";//服务器地址
public static final int PORT = 8080;//服务器端口号
static String text = null;
public static void main(String[] args) throws IOException {
System.out.println("客户端启动...");
Socket socket = null;
socket = new Socket(IP_ADDR, PORT);
while (true) {
try {
//创建一个流套接字并将其连接到指定主机上的指定端口号
//读取服务器端数据
DataInputStream input = new DataInputStream(socket.getInputStream());
byte[] buffer;
buffer = new byte[input.available()];
if(buffer.length != 0){
System.out.println("length="+buffer.length);
// 读取缓冲区
input.read(buffer);
// 转换字符串
String three = new String(buffer);
System.out.println("内容=" + three);
}
} catch (Exception e) {
System.out.println("客户端异常:" + e.getMessage());
}
}
}
}
可以看到打印结果如下:
length表示消息的长度
代码如下:
客户端启动...
length=27
内容=http://www.jb51.net
好了,一个socket客户端我们就完成了,这个是可以一直接收服务器发过来的消息的。