TCP通信协议是一种可靠的网络协议,它在通信的两端各建立一个Socket对象,从而在通信两端形成网络虚拟链路,一旦建立了虚拟的网络链路,两端的程序就可以通过虚拟链路进行通信

Java对基于TCP协议的网络提供了良好的封装,使用Socket对象来代表两端的通信端口,并通过Socket产生IO流来进行网络通信

Java为客户端提供了Socket类,为服务器端提供了ServerSocket类

TCP发送数据

发送数据的步骤:

  • 创建客户端的Socket对象(Socket)

  • 获取输出流,写数据

  • 释放资源

public class ClientDemo {public static void main(String[] args) throws IOException {//创建客户端的Socket对象(Socket)//Socket(InetAddress address,int port):创建流套接字并将其连接到指定IP地址的指定端口//Socket s = new Socket(InetAddress.getByName("192.168.106"),10086);//Socket(String host,int port):创建流套接字并将其连接到指定IP地址的指定端口Socket s = new Socket("192.168.106",10086);
​//获取输出流,写数据//OutputStream getOutputStream():返回此套接字的输出流OutputStream os = s.getOutputStream();os.write("hello,tcp".getBytes(StandardCharsets.UTF_8));
​//释放资源s.close();}
}

TCP接收数据

接收数据的步骤:

  1. 创建服务端的Socket对象(ServerSocket)

  2. 获取输出流,读数据,并把数据显示在控制台

  3. 释放资源

public class ServerDemo {public static void main(String[] args) throws IOException {//创建服务端的Socket对象(ServerSocket)ServerSocket ss = new ServerSocket(10086);Socket s = ss.accept();InputStream is = s.getInputStream();
​//获取输出流,读数据,并把数据显示在控制台byte[] bys = new byte[1024];int len = is.read(bys);String data = new String(bys,0,len);System.out.println(data);
​//释放资源s.close();ss.close();}
}

Java网络编程---TCP通信相关推荐

  1. Java网络编程 - TCP通信

    文章目录 TCP通信 快速入门(一发一收) 编写客户端代码 编写服务器代码 多发多收 多发多收(同时接受多个客户端) 线程池优化 TCP通信 快速入门(一发一收) TCP协议回顾: TCP是一种面向连 ...

  2. Java网络编程 ---- TCP 网络通信编程

    视频:[零基础 快速学Java]韩顺平 零基础30天学会Java 文章目录 1. Socket 2. TCP 网络通信编程 3. 应用案例 1(使用字节流) 4. 应用案例 2(使用字节流) 5. 应 ...

  3. java网络编程的通信原理_11 - 网络编程之设备间通信原理

    一.网络编程 1表现形式:一台机子上的应用程序和另外一个设备的程序之间能够互相交换数据. 2 7层网络结构 硬件层:解决硬件连接问题 数据链路层:解决硬件之间能够向指定设备传输数据 IP:为设备提供一 ...

  4. qt tcp通信_Qt之网络编程TCP通信

    点击上方"Qt学视觉",选择"星标"公众号重磅干货,第一时间送达 想要学习的同学们还请认真阅读每篇文章,相信你一定会有所收获 TCP通信概述 TCP(Trans ...

  5. java网络编程TCP传输—流操作—拿到源后的写入动作

    在网络编程中的TCP传输里,拿到Socket的源后,应该怎么进行读写操作呢,下面我列举了两种方法,希望大家帮忙补充···· 1.利用byte数组作为一个缓冲区进行读写 客户端上传 1 //获取sock ...

  6. java网络编程--TCP程序设计

    一,本章目标 了解Socket和ServerSocker类的作用 掌握ECHO程序开发 将多线程应用在TCP程序上实现多用户操作 二,具体内容 在java网络程序中,客户端只要符合连接的通讯协议,那么 ...

  7. java网络编程 TCP程序

    在java中,使用Socket完成TCP(传输控制协议)程序开发,使用此类可以方便地建立可靠的,双向的,持续的,点对点通信连接 服务端: ServerSocket    程序段:Socket Serv ...

  8. 网络编程——TCP通信

    代码 TCP服务端 mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #includ ...

  9. 2.Java 网络编程TCP通讯例子 双向发送

    在上篇例子中,存在缺陷 只能允许Client给Server发消息,Server无法发消息给Client端 Client连接成功之后,Server就关闭了 这篇完善上篇的例子 TCP服务端 import ...

最新文章

  1. Android DataBinding之初体验
  2. 【挑战极限】最短AJAX创建代码
  3. C#中Ref和out的使用区别
  4. Ubuntu文件管理点击没有反应
  5. 读谷歌编码规范所想到的
  6. 阿里云邀您参加2020年数据湖高峰会议
  7. 安卓USB开发教程 六 安卓 AOA 2.0
  8. linux df和du常用命令
  9. 数据表的查询 sqlserver 基本的三个查询
  10. C++ C++基础语法入门总结(一)命名空间-输入输出-缺省参数-函数重载
  11. 解决: Mysql安装时mysqld.exe报`应用程序无法正常启动(0xc000007b)`的问题
  12. python中string、json、bytes的转换
  13. 力扣-5 最长回文子串
  14. Java常见的垃圾收集器GC算法整理
  15. 输出当前MySQL的环境变量:
  16. 大龄单身,这些人真作。
  17. 百度推广怎么调整计算机优先,百度竞价优化关于帐户层级的一些设置方法与技巧...
  18. 蓝桥杯每日一练——小明跳房子 python
  19. 仿小米商城网: 项目启动
  20. android build.prop的参数

热门文章

  1. 什么是系统漏洞,该如何处理?
  2. LTE系统名词解释及上下行过程
  3. 向左还是向右?聊聊中台建设中的那些纠结事
  4. 第2章 中小型网络系统总体规划与设计
  5. element-ui input组件源码分析整理笔记(六)
  6. AndroidStudio中运行按钮是灰色的
  7. 智能搬运小车(自动抓取、循迹)
  8. 北京外国语大学计算机语言学专业排名,北京外国语大学专业排名及介绍 哪些专业最好...
  9. 秦九韶算法[学习笔记]
  10. 智慧能源篇 1 —— 合同能源管理(EMC)及其商业模式和税收优惠政策