Java Socket客服端第二次传送信息时服务端收不到消息怎么解决
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要讲解了"Java Socket客服端第二次传送信息时服务端收不到消息怎么解决",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Java Soc
千家信息网最后更新 2026年11月02日Java Socket客服端第二次传送信息时服务端收不到消息怎么解决
这篇文章主要讲解了"Java Socket客服端第二次传送信息时服务端收不到消息怎么解决",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Java Socket客服端第二次传送信息时服务端收不到消息怎么解决"吧!
小问题一:
在客户端使用如下代码时候,服务端接收不到客户端信息。
PrintWriter pw = new PrintWriter(new BufferedOutputStream(os));pw.print("this is a clent:"+i);pw.flush();此时,我把代码改成如下,服务端可以看到客户端发送的信息。
os = socket.getOutputStream();PrintWriter pw = new PrintWriter(new BufferedOutputStream(os));pw.print("this is a clent:"+i+"\n");// 或者换成 pw.println("this is a clent:"+i);pw.flush();这两段代码的区别是,一个代码没有加换行符,而另一个代码加了换行符。
小问题二:
在服务端开启后,客户端执行完创建Socket代码之后,将不会在进行代码的连接检查,这样带来了一个后果,当代码执行如下代码之后,关闭服务端的连接,并不能出现Connection refused (Connection refused)提示。
socket = new Socket("127.0.0.1", 10000);下面贴出完整代码:
客户端:
public static void main(String[] args) { Socket socket = null; OutputStream os = null; try {int i=0; socket = new Socket("127.0.0.1", 10000); while (true) { i++; os = socket.getOutputStream(); PrintWriter pw = new PrintWriter(new BufferedOutputStream(os)); Thread.sleep(1000L); pw.print("this is a clent:"+i+"\n"); pw.flush(); //接收服务器传输过来的信息 InputStream is = socket.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(new BufferedInputStream(is))); System.out.println("服务器传输信息:"/* + br.readLine()*/+ ";服务器信息:" + socket.getInetAddress().getHostName()); } } catch (IOException | InterruptedException e) { e.printStackTrace(); } finally {try { os.close(); socket.close(); } catch (IOException e) { e.printStackTrace(); } } }}服务端:
public static void main(String[] args) {try { ServerSocket serverSocket = new ServerSocket(10000); Socket socket = null; InputStream inputStream = null; while (true) { socket = serverSocket.accept(); inputStream = socket.getInputStream(); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); System.out.println("服务端收到客户端消息:" + bufferedReader.readLine() + ";客户端信息" + socket.getInetAddress().getHostAddress() + ":" + socket.getPort()); //反馈消息 OutputStream os = socket.getOutputStream(); PrintWriter pw = new PrintWriter(new OutputStreamWriter(new BufferedOutputStream(os))); pw.println("收到客户端传输数据,服务器信息" + socket.getLocalSocketAddress().toString()); pw.flush(); } } catch (IOException e) { e.printStackTrace(); }}感谢各位的阅读,以上就是"Java Socket客服端第二次传送信息时服务端收不到消息怎么解决"的内容了,经过本文的学习后,相信大家对Java Socket客服端第二次传送信息时服务端收不到消息怎么解决这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
服务
信息
代码
客户
客户端
消息
服务器
问题
传输
学习
内容
换行符
后果
就是
思路
情况
数据
文章
时候
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
有格互联网科技
朗新科技与工业互联网
致骋互联网科技
唐信互联网科技
未来的互联网科技
菲比寻常互联网科技
互联网科技公司介绍
互联网科技咨询
左右互联网络科技
互联网科技素材视频竖屏
互联网科技股午盘股票涨跌
科技互联网的估值
宁波青枫互联网科技有限公司
欧洲十大科技互联网公司
昊天互联网科技有限公司
爱医互联网络科技
城市宝互联网科技有限公司
互联网科技融合创新
科技互联网公司两年变化
互联网科技快速发展优美句子
手冲咖啡和咖啡机区别
远信互联网科技
互联网科技视频素材
佰商互联网科技有限公司
华脉科技工业互联网产品
互联网5g黑科技有哪些
互联网媒体平台算高科技产业
米聚互联网科技南京有限公司排面
浙南科技城互联网大厦建设工程
瑞安市蟠桃会互联网科技有限公司