全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

JAVA编程实现TCP网络通讯的方法示例

本文实例讲述了JAVA编程实现TCP网络通讯的方法。分享给大家供大家参考,具体如下:

TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。

由IETF的RFC 793定义,在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能。

基于TCP网络通讯实现的类主要有服务器端的ServerSocket用客户端的Socket。

通讯流程:

打开服务器,等待客户端连接-->客户端连接上服务器-->数据通讯。

代码实现步骤:

1. 创建服务器端(ServerSocket)对象或客户端(Socket)对象。
2. 建立起服务器与客户端连接
3. 通过输入输出流进行文件(数据)通讯
4. 通讯结束 ,关闭资源 。

一个简单的小例子,服务端:

public class SocketServer {
  public static void main(String[] args) {
    try {
      // 创建一个服务器ServerSocket,并指定端口号为5120
      ServerSocket mServerSocket = new ServerSocket(5120);
      // 等待客户端连接
      Socket socket = mServerSocket.accept();
      // 连接上客户端后,获取客户端输入流信息
      InputStream is = socket.getInputStream();
      // 通过获取缓冲数据方式来读取文本信息
      BufferedReader br = new BufferedReader(new InputStreamReader(is));
      // 获取文本信息
      String line;
      StringBuffer sb = new StringBuffer();
      while ((line = br.readLine()) != null) {
        sb.append(line);
      }
      System.out.println(sb.toString());
      socket.shutdownInput();
      // 收到客户端信息后,回复客户端信息
      OutputStream os = socket.getOutputStream();
      PrintWriter pw = new PrintWriter(os);
      pw.write("收到回复,我是服务端");
      pw.flush();
      // 关闭流通常放在finally中操作
      os.close();
      br.close();
      is.close();
      pw.close();
      socket.close();
      mServerSocket.close();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

客户端:

public class ClientSocket {
  public static void main(String[] args) {
    try {
      // 创建客户端Socket,指定主机和端口
      Socket mSocket = new Socket("localhost", 5120);
      // 通过输入流向服务器发数据
      OutputStream os = mSocket.getOutputStream();
      PrintWriter pw = new PrintWriter(os);
      pw.write("来自客户端Socket的数据,你收到了吗?");
      pw.flush();
      mSocket.shutdownOutput();
      // 收取服务端的回复信息
      InputStream is = mSocket.getInputStream();
      // 通过获取缓冲数据方式来读取文本信息
      BufferedReader br = new BufferedReader(new InputStreamReader(is));
      // 获取文本信息
      String line;
      StringBuffer sb = new StringBuffer();
      while ((line = br.readLine()) != null) {
        sb.append(line);
      }
      System.out.println(sb.toString());
      // 关闭流通常放在finally中操作
      br.close();
      is.close();
      pw.close();
      os.close();
      mSocket.close();
    } catch (UnknownHostException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  }
}

运行时,要先启动服务端,然后启动客记户端,通常网络通讯会与多线程交织在一起。

更多关于java相关内容感兴趣的读者可查看本站专题:《Java Socket编程技巧总结》、《Java文件与目录操作技巧汇总》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。


# JAVA  # TCP  # 网络通讯  # JAVA编程实现UDP网络通讯的方法示例  # 基于Java网络编程和多线程的多对多聊天系统  # java Hibernate多对多映射详解及实例代码  # Java实现多对多网络通讯的流程  # 客户端  # 服务端  # 放在  # 流进  # 操作技巧  # 我是  # 是一种  # 相关内容  # 感兴趣  # 数据结构  # 给大家  # 要先  # 建立起  # 收到了  # 更多关于  # 所述  # 创建一个  # 程序设计  # 多线程  # 端口号 


相关文章: 如何快速上传建站程序避免常见错误?  如何选择高效稳定的ISP建站解决方案?  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  天津个人网站制作公司,天津网约车驾驶员从业资格证官网?  定制建站如何定义?其核心优势是什么?  建站之星如何通过成品分离优化网站效率?  如何通过wdcp面板快速创建网站?  如何在Ubuntu系统下快速搭建WordPress个人网站?  ,巨量百应是干嘛的?  建站ABC备案流程中有哪些关键注意事项?  制作网页的网站有哪些,电脑上怎么做网页?  如何在建站之星绑定自定义域名?  如何通过老薛主机一键快速建站?  微信小程序 五星评分(包括半颗星评分)实例代码  广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?  成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?  北京的网站制作公司有哪些,哪个视频网站最好?  攀枝花网站建设,攀枝花营业执照网上怎么年审?  制作网站怎么制作,*游戏网站怎么搭建?  如何在Golang中使用encoding/gob序列化对象_存储和传输数据  已有域名能否直接搭建网站?  开心动漫网站制作软件下载,十分开心动画为何停播?  购物网站制作公司有哪些,哪个购物网站比较好?  制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?  h5在线制作网站电脑版下载,h5网页制作软件?  济南网站建设制作公司,室内设计网站一般都有哪些功能?  TestNG的testng.xml配置文件怎么写  如何通过西部建站助手安装IIS服务器?  如何快速生成ASP一键建站模板并优化安全性?  建站之星云端配置指南:模板选择与SEO优化一键生成  网站制作公司广州有几家,广州尚艺美发学校网站是多少?  山东网站制作公司有哪些,山东大源集团官网?  如何选择可靠的免备案建站服务器?  建站主机服务器选购指南:轻量应用与VPS配置解析  如何基于PHP生成高效IDC网络公司建站源码?  一键制作网站软件下载安装,一键自动采集网页文档制作步骤?  如何选择适合PHP云建站的开源框架?  如何高效利用亚马逊云主机搭建企业网站?  ,怎么用自己头像做动态表情包?  Android使用GridView实现日历的简单功能  php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】  如何用西部建站助手快速创建专业网站?  专业公司网站制作公司,用什么语言做企业网站比较好?  赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?  小说建站VPS选用指南:性能对比、配置优化与建站方案解析  头像制作网站在线制作软件,dw网页背景图像怎么设置?  如何通过免费商城建站系统源码自定义网站主题与功能?  宝塔Windows建站如何避免显示默认IIS页面?  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  如何在阿里云部署织梦网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。