Java Socket客服端第二次传送信息时服务端收不到消息怎么解决
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,这篇文章主要讲解了"Java Socket客服端第二次传送信息时服务端收不到消息怎么解决",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Java Soc
千家信息网最后更新 2025年12月03日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安全错误
数据库的锁怎样保障安全
我国网络安全组织机构包括
北京pdu服务器专用电源生产商
网络安全可爱漫画
博彦互联网科技
中山网络安全学习
佛山三轴点胶软件开发
蛇哥传奇4服务器
电信诈骗算不算网络安全
数据库配置路径
个人电脑可以当存储服务器吗
关于加强网络安全情况汇报
腾讯云服务器镜像到阿里云
腾讯的服务器是做什么的
请列举几个网络安全防护的办法
2022国家网络安全教育日资料
方舟毁灭服务器几点开启
贵州城市职业学院计算机网络技术
汕尾数据链软件开发费用
服务器主板关闭内存检测
阅兵活动怎么做好网络安全
国内展館馆网络技术
数据库的序列用法
国家间网络安全合作
服务器2008r2
三级网络技术知识点总结笔记
福州 对日软件开发
无锡移动软件开发团队
储存数据库安全吗
岗山软件开发西安有限公司
软件开发公司用电量如何估算