TCP通讯协议特点:
1. tcp是基于IO流进行数据 的传输 的,面向连接。
2. tcp进行数据传输的时候是没有大小限制的。
3. tcp是面向连接,通过三次握手的机制保证数据的完整性。 可靠协议。
4. tcp是面向连接的,所以速度慢。
5. tcp是区分客户端与服务端 的。

比如: 打电话、 QQ\feiQ的文件传输、 迅雷下载....
tcp协议下的Socket:
Socket(客户端) , tcp的客户端一旦启动马上要与服务端进行连接。
ServerSocket(服务端类)

tcp的客户端使用步骤:
1. 建立tcp的客户端服务。
2. 获取到对应的流对象。
3.写出或读取数据
4. 关闭资源。

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket;
public class IpSender {public static void main(String[] args) throws IOException {//建立tcp的服务Socket socket  = new Socket(InetAddress.getLocalHost(),9090);//获取到Socket的输出流对象OutputStream outputStream = socket.getOutputStream();//利用输出流对象把数据写出即可。outputStream.write("服务端你好".getBytes());    //获取到输入流对象,读取服务端回送的数据。InputStream inputStream = socket.getInputStream();byte[] buf = new byte[1024];int length = inputStream.read(buf);System.out.println("客户端接收到的数据:"+ new String(buf,0,length));    //关闭资源
        socket.close();        }}

服务端

java.net.BindException: 端口被占用。

ServerSocket的使用 步骤
1. 建立tcp服务端 的服务。
2. 接受客户端的连接产生一个Socket.
3. 获取对应的流对象读取或者写出数据。
4. 关闭资源。

为什么ServerSocket不设计一个getInputStream与getOutputStream 呢?

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;public class IpReceive {public static void main(String[] args) throws IOException {//建立Tcp的服务端,并且监听一个端口。ServerSocket serverSocket = new ServerSocket(9090);//接受客户端的连接Socket socket  =  serverSocket.accept(); //accept()  接受客户端的连接 该方法也是一个阻塞型的方法,没有客户端与其连接时,会一直等待下去。//获取输入流对象,读取客户端发送的内容。InputStream inputStream = socket.getInputStream();byte[] buf = new byte[1024];int length = 0;length = inputStream.read(buf);System.out.println("服务端接收:"+ new String(buf,0,length));//获取socket输出流对象,想客户端发送数据OutputStream outputStream = socket.getOutputStream();outputStream.write("客户端你好啊!".getBytes());            //关闭资源
                serverSocket.close();}
}

转载于:https://www.cnblogs.com/AllenRandolph/p/7055066.html

java笔记之网络知识--—TCP相关推荐

  1. 【java笔记】网络编程概述

    [java笔记]TCP通信程序_m0_52043808的博客-CSDN博客 [java笔记]网络编程:文件上传案例_m0_52043808的博客-CSDN博客 网络编程: 在一定协议下,实现两台计算机 ...

  2. java socket ip_JAVA 网络编程 TCP/IP、Socket 和协议设计

    [JAVA 网络编程 TCP/IP.Socket 和协议设计] TCP/IP 协议简介 IP 首先我们看 IP(Internet Protocol)协议.IP 协议提供了主机和主机间的通信. 为了完成 ...

  3. C语言笔记(27)网络编程-TCP编程

    CS模式 有个服务器, 有个客户端, 会经过一些函数 linux下,所有的操作都是对文件进行操作,而对文件的操作是利用文件描述符(file descriptor)来实现的.每个文件进程控制块中都有一份 ...

  4. Java中的网络和TCP/IP协议

    网络和TCP/IP协议 一.网络通信协议 1.1 协议和七层模型 1.2 TCP/IP协议 二.网络通信的实现 2.1 TCP协议通信 2.2 UDP协议通信 前言: 有时候我们会不理解,我们在QQ上 ...

  5. java全双工_java网络编程TCP聊天全双工

    我正在实现服务器和客户端之间的简单TCP聊天.我使用多线程,因此服务器和客户端可以同时发送和接收数据(全双工).该程序可以工作,但如果服务器有一个控制台既可以输入发送消息,也可以显示接收消息(对于客户 ...

  6. 大数据 -- java基础16 网络编程 TCP UDP

    1.网络编程的三要素:(1)IP地址(2)端口号(3)协议 2.IP地址 : 网络中计算机唯一标识. (1)IP地址在计算机中存储的时候是由二进制的形式进行存储的:IP:192.168.7.42 十进 ...

  7. 黑马程序员 java基础之网络编程TCP

    TCP网络传输. 客户端和服务端 分别对应着两个对象. Scoket(客户端)和ServerSocket(服务端). Socket(String  address, int port) 创建一个流套接 ...

  8. 【java笔记】网络编程:文件上传案例

    原理:文件的复制 客户端读取本地的文件,把文件上传到服务器,服务器把上传的文件保存到服务器的硬盘上 步骤: 1.客户端使用本地的字节输入流,读取要上传的文件 2.客户端使用网路字节输出流,把读取的文件 ...

  9. [网络知识]TCP协议中的粘包与拆包

    在平时客户端socket开发中,如果客户端连续不断的向服务端发送数据包时,服务端接收的数据会出现两个数据包粘在一起的情况,这就是TCP协议中经常会遇到的粘包以及拆包的问题. 我们都知道TCP属于传输层 ...

最新文章

  1. AI计算量每年增长10倍,摩尔定律也顶不住 | OpenAI最新报告
  2. 以太经典(ETC)逆势上涨,将逆袭反超以太坊(ETH)?
  3. 女生学计算机教学,女生学计算机专业好吗 计算机辅助数学教学之我见
  4. 神经网络 深度学习 专业术语解释(Step, Batch Size, Iteration,Epoch)
  5. python列表的append和extend
  6. python实现websocket服务端
  7. 2019年自考计算机应用基础(实践),2019年自考计算机应用基础模拟题及答案(8)...
  8. Access数据库注入
  9. java 里面matches什么意思_Java Regex中的matches()和find()之间的区别
  10. HITACHI日立印刷机电源维修W-PSX175
  11. 新版捷兔云支付网站源码开源版 第三方支付源码 第四方支付源码 免签约支付源码
  12. 模式识别应用于哪些领域,模式识别技术的发展是大势所趋
  13. goolgle版本87.0乱码设置utf-8,附有charset插件
  14. 【xubuntu-22.04】精简模式,给intel 盒子安装系统,使用稳定,内存cpu占用低,比之前的版本更加稳定,可以做个服务器使用,也可以上网,功耗低
  15. 红帽子linux编译命令,Linux REDHAT下安装内核源代码详细步骤教程
  16. 计算机 常用的逻辑运算有哪些,常用布尔逻辑运算符有哪些
  17. mysql修改索引语句_mysql——创建索引、修改索引、删除索引的命令语句
  18. 解决Word文档中表格不会自动换页,而是在同一页word上往下换行的问题。
  19. 浅谈精益数字化工厂(Lean Digital Factory, LDF)
  20. 【程序员学理财】曼昆:经济学十大原理,你都了解吗?

热门文章

  1. 金三银四春招特供|高质量面试攻略
  2. 【毕业设计】16-基于单片机的酒精浓度监测系统设计(原理图+仿真+实物图+论文+答辩PPT)
  3. 闭环管理--循环往复的闭环系统
  4. 程序员千万别去外包公司!
  5. Lesson12_多态
  6. 使用Python通过拉马努金公式快速求π
  7. c语言补码链表重要吗,科学网—近期复习C语言的一些感悟 - 何亮的博文
  8. windows系统下的 pdf2html (pdf 转html)开源工具 pdf2htmlEX 使用方法
  9. 2020,中国互联网的后高光时刻
  10. mysql查询and和or同时使用