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

Java基础知识总结(四十八)--TCP传输、TCP客户端、TCP服务端

**TCP传输:**两个端点的建立连接后会有一个传输数据的通道,这通道称为流,而且是建立在网络基础上的流,称之为socket流。该流中既有读取,也有写入。

**tcp的两个端点:**一个是客户端,一个是服务端。

客户端:对应的对象,Socket

服务端:对应的对象,ServerSocket

TCP客户端:

1,建立tcp的socket服务,最好明确具体的地址和端口。这个对象在创建时,就已经可以对指定ip和端口进行连接(三次握手)。

2,如果连接成功,就意味着通道建立了,socket流就已经产生了。只要获取到socket流中的读取流和写入流即可,只要通过getInputStream和getOutputStream就可以获取两个流对象。

3,关闭资源。

import java.net.*;

import java.io.*;

//需求:客户端给服务器端发送一个数据。

class TcpClient{

public static void main(String[] args) throws Exception{

Socket s = new Socket(“10.1.31.69”,10002);
qwqw
OutputStream out = s.getOutputStream();//获取了socket流中的输出流对象。

out.write(“tcp演示,哥们又来了!”.getBytes());

s.close();

}

}

TCP服务端:

1,创建服务端socket服务,并监听一个端口。

2,服务端为了给客户端提供服务,获取客户端的内容,可以通过accept方法获取连接过来的客户端对象。

3,可以通过获取到的socket对象中的socket流和具体的客户端进行通讯。

4,如果通讯结束,关闭资源。注意:要先关客户端,再关服务端。

class TcpServer{

public static void main(String[] args) throws Exception{

ServerSocket ss = new ServerSocket(10002);//建立服务端的socket服务

Socket s = ss.accept();//获取客户端对象

String ip = s.getInetAddress().getHostAddress();

System.out.println(ip+“…connected”);

// 可以通过获取到的socket对象中的socket流和具体的客户端进行通讯。

InputStream in = s.getInputStream();//读取客户端的数据,使用客户端对象的socket读取流

byte[] buf = new byte[1024];

int len = in.read(buf);

String text = new String(buf,0,len);

System.out.println(text);

// 如果通讯结束,关闭资源。注意:要先关客户端,在关服务端。

s.close();

ss.close();

}

}

相关文章:

  • 蓝桥杯---颜色分类(leetcode第75题)题解
  • 非谓语动词三驾马车
  • .NET 9.0 的 Blazor Web App 项目,Bootstrap Blazor 全局异常 <ErrorLogger> 使用备忘
  • 【计算机网络】传输层数据段格式
  • webassembly009 transformers.js 网页端侧推理 whisper-web
  • NSCoding 与归档解档
  • wordpress资讯类网站整站打包
  • AcWing——3722. 骑车路线
  • Linux:ASoC 声卡驱动框架简介
  • nginx 实战配置
  • Pinia入门
  • 【20250215】二叉树:144.二叉树的前序遍历
  • 电脑桌面便利贴,备忘录软件哪个好?
  • vue-cli-service权限不足(Linux运行vue)
  • CAS单点登录(第7版)25.通知
  • 腾讯大数据基于 StarRocks 的向量检索探索
  • Android ListPreference使用
  • Java八股文详细文档.3(基于黑马、ChatGPT、DeepSeek)
  • 大话风险-风险模型监测三道防线
  • 在 Mac ARM 架构上使用 nvm 安装 Node.js 版本 16.20.2
  • 西甲上海足球学院揭幕,用“足球方法论”试水中国青训
  • 中俄就应对美加征所谓“对等关税”等问题进行深入交流
  • 纽约大学朗格尼医学中心的转型带来哪些启示?
  • 专访|高圆圆:像鸟儿一样,柔弱也自由
  • 马新民卸任外交部条约法律司司长
  • 金融监管局:已设立74支私募股权投资基金,支持投资科技创新企业