当前位置: 首页 > news >正文

java实现TCP通信(socket)服务端-客户端

我在写的时候,我的需求就很简单,写一个服务端,去让别人进行请求,借鉴了很多聊天室什么的,越搞越复杂。

期间也使用到了 BufferedReader中readLine()方法,进行获取客户端传来的数据,本地测试没有问题,一跨服务就不行,困扰我了很久,最终才找到了处理方案,具体看下方代码吧!

服务端:

package com.xinyuan.thirdparty.esb;import com.xinyuan.core.common.util.DateTimeUtil;import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.Map;public class TestMainServer {public static void main(String[] args) throws IOException {ServerSocket server = new ServerSocket(2000);System.out.println("服务端准备就绪!");Socket socket = server.accept();System.out.println("客户端已连接!");InputStream inputStream = socket.getInputStream();byte[] bytes = new byte[2024];inputStream.read(bytes);String message = new String(bytes,"utf-8").trim();System.out.println("接收到客户端发送的数据为:"+message);OutputStream outputStream = socket.getOutputStream();outputStream.write("返回客户端的信息".getBytes(StandardCharsets.UTF_8));}

客户端:

package com.xinyuan.thirdparty.esb;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.Socket;//测试客户端
public class TestMainClient {public static void main(String[] args) throws IOException {Socket socket = new Socket("127.0.0.1",2000);BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));PrintStream out = new PrintStream(socket.getOutputStream());String message = "";out.println(message);String response = in.readLine();System.out.println("服务端回应:"+response);socket.close();}
}
http://www.lryc.cn/news/230519.html

相关文章:

  • 企业信息模糊搜索API的使用及应用场景
  • .net6+aspose.words导出word并转pdf
  • 深度学习 植物识别算法系统 计算机竞赛
  • 《深入浅出进阶篇》洛谷P4147 玉蟾宫——悬线法dp
  • 社区论坛小程序源码系统,功能齐全,页面简洁,前端+后端+完整部署教程
  • 大数据开发面试(一)
  • softmax的高效CUDA编程和oneflow实现初步解析
  • 如何解决 Node.js 20 升级中未预期的请求问题
  • no tests were found
  • 泛型擦除是什么
  • 7、线性数据结构-切片
  • linux grub2 不引导修复 grub2-install:error:/usr/lib/grub/x86_64-efi/modinfo.sh
  • 建筑楼宇智慧能源管理系统,轻松解决能源管理问题
  • 【洛谷算法题】P5711-闰年判断【入门2分支结构】
  • ArcGIS10.8 连接 PostgreSQL 及遇到的两个问题
  • 深入跨域 - 从初识到入门 | 京东物流技术团队
  • WebSocket真实项目总结
  • Python 如何实现解释器(Interpreter)设计模式?什么是解释器设计模式?
  • 单片机与PLC的区别有哪些?
  • 修改浏览器滚动条样式--ios同款
  • python自动化测试selenium核心技术3种等待方式详解
  • 苹果手机照片如何导入电脑?无损快速的传输办法分享!
  • csh 脚本批量处理文件并将文件扔给程序
  • 程序员技能成长树,程序员的曙光
  • 灰度图处理方法
  • 微信小程序:仅前端实现对象数组的模糊查询
  • 【done】剑指offer63:股票的最大利润
  • 桶装水订水小程序app,线上预约订水更便捷
  • 解决进程同步与互斥的Dekker算法与Peterson算法
  • confluence无法打开空间目录