基于Java的TCP Socket通信详解(计算机端/Android手机端)

本文详细讲解如何使用Java进行TCP Socket通信,包括服务器端和Android客户端的实现,涉及TCP连接建立、读写、断开及异常处理。提供完整代码示例,适用于桌面和移动平台。
摘要由CSDN通过智能技术生成

TCP Socket通信是一种比较常用的基于连接的网络通信方式。本文通过Java实现TCP Socket通信,并将其用于计算机端、Android手机端,同时做到代码规范化,实现代码最大化复用。

本文代码可在GitHub下载,建议对照源码阅读文章 https://github.com/jzj1993/JavaTcpSocket

TCP连接的建立

客户端和服务器间通过三次握手建立TCP连接。在Java中,连接建立完成后,服务器端和客户端分别获取到一个Socket实例,之后就可以通过这个Socket实例进行通信。服务器端和客户端使用不同的方法获取Socket实例。

服务器端

在服务器端,通过ServerSocket实现对指定端口的监听,代码如下。其中portint型端口数值,取值0~655350~1024为系统保留端口,这里取值1234。如果发生错误将会抛出异常。

 
 
 
  1. int port = 1234;
  2. ServerSocket server = new ServerSocket(port);

通过ServerSocket.accept()方法接受客户端连接。这个方法是阻塞的,从调用时开始监听端口,直到客户端连接建立时,执行结束并返回Socket实例。连接建立失败会抛出异常。

 
 
 
  1. Socket socket = server.accept();

客户端

客户端直接通过实例化的形式,产生Socket实例。实例化的过程中,尝试连接指定的服务器主机。连接成功则实例化完成,连接失败则抛出异常。hostIP为主机的IP地址,port为端口号,和服务器主机监听的端口号保持一致。

 
 
 
  1. String hostIP = "127.0.0.1";
  2. int port = 1234;
  3. Socket socket = new Socket(hostIP, port);

连接的建立过程

以上代码的执行顺序是:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值