关于字节流从socket里面读数据的问题?
DataInputStream in = new DataInputStream(socket.getInputStream());
StringBuilder sb = new StringBuilder();
for (int c = in.read(); c != -1; c = in.read()) {
System.out.print((char)c);
}
System.out.println("响应信息为:" + sb);
上面一段代码中是从socket中读取数据,比如socket中的数据为0123456,那么进入for循环之后就会读取这几个值,最终打印0123456
但是现在的问题是:
程序会在打印完6之后一直堵塞在in.read()这里,出不来 不会执行下面的 System.out.println("响应信息为:" + sb); 这句话
想问问大家,怎样才能让程序跳出来,在实际问题中,socket中的值是不确定的
相关推荐
Java socket字节流传输示例解析
主要为大家详细介绍了Java socket字节流传输示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
Java TCP网络编程实战:从Socket基础到粘包处理与性能优化
TCP/IP协议是网络通信的基石,它通过三次握手建立可靠连接,确保数据有序、无差错传输。在Java中,Socket和ServerSocket是实现TCP通信的核心类,分别对应客户端和服务端的通信端点。理解TCP的字节流特性至关重要,因为它不维护消息边界,这直接导致了开发中常见的'粘包'与'拆包'问题。为解决此问题,需要在应用层定义协议,常见方案包括使用定长消息、分隔符或更灵活的长度前缀法。在实际工程中,还需关注连接管理、超时设置和异常处理,例如通过setSoTimeout防止线程永久阻塞,以及使用try-w
Socket从原理到实战:多语言实现与常见坑
Socket(套接字)是网络编程中的基础抽象,本质是操作系统提供的API,让应用层像读写文件一样收发数据。它屏蔽了TCP/IP底层的路由、分包与可靠传输细节,通过服务端与客户端模型完成通信。理解Socket的核心原理后,无论是用Python socket快速搭建原型,还是在Spring Boot中集成WebSocket实现实时推送,或是通过Windows Winsock创建套接字进行底层控制,甚至使用VBA调用Socket API完成办公自动化,都能触类旁通。Socket还广泛应用于Telnet设备调试、即
Android socket 通信,各种风格的Android面试题进来了解一下
socket = new Socket(“192.168.1.156”, 1234);// 下面三句照抄就行writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));InputStream inputStream = socket.getInputStream();DataInputStream input = new DataInputStream(inputStream);// 创建一个字节数组用来接收服务
Java实现字节流与图片的转化Java源码
Java实现字节流与图片的转化Java源码


Java SE
