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
内容=//www.jb51.net
好了,一个socket客户端我们就完成了,这个是可以一直接收服务器发过来的消息的。