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
内容=https://www.jb51.net
好了,一个socket客户端我们就完成了,这个是可以一直接收服务器发过来的消息的。
相关文章
JAVA String转化成java.sql.date和java.sql.time方法示例
这篇文章主要给大家分享了关于JAVA String转化成java.sql.date和java.sql.time的方法,文中给出了详细的示例代码,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。2017-03-03Mybatis in条件传参的三种实现方式(直接$,List,[])
这篇文章主要介绍了Mybatis in条件传参的三种实现方式(直接$,List,[]),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-12-12SpringCloudGateway Nacos GitlabRunner全自动灰度服务搭建发布
这篇文章主要为大家介绍了SpringCloudGateway Nacos GitlabRunner全自动灰度服务搭建和发布实战详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-04-04RocketMQ生产者一个应用不能发送多个NameServer消息解决
这篇文章主要为大家介绍了RocketMQ生产者一个应用不能发送多个NameServer消息原因及解决方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-11-11Java文件操作工具类fileUtil实例【文件增删改,复制等】
这篇文章主要介绍了Java文件操作工具类fileUtil,结合实例形式分析了java针对文件进行读取、增加、删除、修改、复制等操作的相关实现技巧,需要的朋友可以参考下2017-10-10
最新评论