一、服务器端

1、创建serverSocket,即服务器端的socket,绑定指定的端口,并侦听此端口

ServerSocket server = new ServerSocket(8888);

2、调用accept()方法,开始侦听,等待客户端的连接,在未连接成功之前,处于阻塞状态,返回的socket,用于与客户端连接

Socket socket = server.accept();

3、获取输入流,用来读取客户端发来的信息

InputStream is = socket.getInputStream();//字节输入流

InputStreamReader isr = new InputStreamReader(is);//字符输入流

BufferedReader br = new BufferedReader(isr);//缓冲输入流

String info = null;

while((info=br.readLine()) != null){

//循环读取数据

System.out.println("客户端说:"+info);

}

socket.shutdownInput();//关闭输入流

4、获取输出流,用户响应客户端的请求

OutputStream os = socket.getOutputStream();//字节输出流

PrintWriter pw = new PrintWriter(os);//打印输出流

pw.write("服务器端已接受你的请求,允许登录");

pw.flush();

socket.shutdownOutput();//关闭输出流

5、关闭资源

br.close();

isr.close();

is.close();

pw.close();

os.close();

socket.close();

server.close();

二、客户端

1、创建客户端socket,指定要连接的服务器地址和端口号

Socket socket = new Socket("127.0.0.1",8888);

2、获取输出流,给服务器端发送信息

OutputStream os = socket.getOutputStream();//字节流

PrintWriter pw = new PrintWriter(os);//打印流

pw.write("用户名:admin;密码:123");

pw.flush();

socket.shutdownOutput();//关闭输出流

3、获取输入流,用来读取服务器端发来的信息

InputStream is = socket.getInputStream();//字节输入流

InputStreamReader isr = new InputStreamReader(is);//字符输入流

BufferedReader br = new BufferedReader(isr);//缓冲输入流

String info = null;

while((info=br.readLine()) != null){

System.out.println("服务端说:"+info);

}

socket.shutdownInput();//关闭输入流

4、关闭资源

br.close();

isr.close();

is.close();

pw.close();

os.close();

socket.close();

linux socket通信tcp,基于TCP协议的socket通信相关推荐

  1. Linux系统下实现基于TCP/IP协议的简单Socket通信

    Linux系统下实现基于TCP/IP协议的简单Socket通信 网络套接字Socket Socket概念 主机字节序和网络字节序 Sockaddr地址结构 Socket实现客户端.服务端通信 服务端程 ...

  2. socket 网络通信(基于tcp协议)以及粘包解决方案

    socket 网络通信(基于tcp协议)以及粘包解决方案 参考文章: (1)socket 网络通信(基于tcp协议)以及粘包解决方案 (2)https://www.cnblogs.com/amiee- ...

  3. VDT (virtual device on tcp) 基于tcp通信的虚拟设备工具集

    概要 VDT (virtual device on tcp) 基于tcp通信的虚拟设备工具集 DOT (device on tcp) 创建虚拟字符设备,通过tcp收发来读写. DTT (device ...

  4. 基于UDP协议的socket套接字编程 基于socketserver实现并发的socket编程

    基于UDP协议 的socket套接字编程 1.UDP套接字简单示例 1.1服务端 import socketserver = socket.socket(socket.AF_INET,socket.S ...

  5. android spp 服务端,Android开发之蓝牙(一)——基于SPP协议蓝牙模块通信,androidspp...

    Android开发之蓝牙(一)--基于SPP协议蓝牙模块通信,androidspp 使用设备 基本概念 基本流程 本文意在介绍蓝牙开发的主要流程,学习使用蓝牙开发一个星期了,写写一个星期以来遇到的一些 ...

  6. Sockey编程之基于 UDP 协议的 Socket 编程

    一.基于 UDP 协议的 Socket 编程 1.端口选择 已知端口:0~1023,为固定服务保留. 已注册的端口:1024~49151,供普通用户的普通用户进程或程序使用. 动态或私用端口: 491 ...

  7. java socket 通信协议_java 基于TCP协议的Socket编程和通信

    java 基于 TCP 协议的 Socket 编程和通信 在网络通讯中,第一次主动发起通讯的程序被称作客户 端 (Client) 程序, 简称客户端, 而在第一次通讯中等待连接的 程序被称作服务器端 ...

  8. linux网络编程之用socket实现简单客户端和服务端的通信(基于TCP)

    一.介绍基于TCP协议通过socket实现网络编程常用API 1.读者如果不是很熟悉,可以先看我之前写的几篇博客,有socket,地址结构的理解,更加方便读者理解 地址分别是: 1).http://b ...

  9. TCP与UDP协议、socket套接字编程、通信相关操作(cs架构软件)、TCP黏包问题及解决思路

    OSI七层协议 传输层 1.PORT协议:前面讲过 2.TCP协议与UDP协议:规定了数据传输所遵循的规则(数据传输能够遵循的协议有很多,TCP和UDP是较为常见的两个) TCP协议 基于TCP传输数 ...

  10. TCP与UDP协议,socket套接字编程,通信相关操作

    文章目录 TCP与UDP协议 TCP协议 ==三次握手== ==四次挥手== UDP协议 TCP与UDP的区别 应用层 socket套接字 代码优化 循环通信 半连接池 粘包问题 TCP与UDP协议 ...

最新文章

  1. 深入浅出之Smarty模板引擎工作机制(一)
  2. java版b2b2c社交电商spring cloud分布式微服务(七)springboot开启声明式事务
  3. ITK:在图像中找到最大和最小
  4. python标准日期正则表达式_Python 正则表达式验证传统日期
  5. bootstrap-multiselect.js多选下拉框初始化时默认选中初始值
  6. getmodifiers java_getModifiers()方法如何计算多个修饰符的值?
  7. 基于JAVA+SpringMVC+Mybatis+MYSQL的铁路售票系统
  8. android中接口的作用是什么意思,Android为什么要序列化
  9. 遇到local variable ‘e‘ referenced before assignment这样的问题应该如何解决
  10. 浏览器HTTP缓存机制 1
  11. oracle 常用语句汇总
  12. linux查看cuda版本_查看Linux系统版本命令集合
  13. 蓝桥杯题目练习 水题 [蓝桥杯2019初赛]质数
  14. C++ Test的使用
  15. Jquery 实现xml转json
  16. 关于Tungsten Fabic版本问题,这一篇文章说清了
  17. 67tool.com 即用即走的在线工具箱
  18. chrome模拟手机功能
  19. Day12-2021.1.20-华为硬件笔试
  20. Android8.0以上打开相机并裁剪图片

热门文章

  1. jakarta_迁移到Jakarta EE 9
  2. 我的世界服务器修改飞行速度,《我的世界》创造模式飞行速度修改方法介绍
  3. 皮一皮:被看穿的既视感...
  4. 拼多多面试真题:如何用 Redis 统计独立用户访问量!
  5. TiDB 在知乎万亿量级业务数据下的实践和挑战
  6. Spring Boot 2.2.0 正式发布,大幅性能提升 + Java 13 支持
  7. 聊一聊Java字符串的不可变
  8. 撸了今年阿里、网易和美团的面试,我有一个重要发现.......
  9. 民间估值1个亿的AI核心代码终于开源了...
  10. php代码冗余度检查插件,合并ThinkPHP配置文件以消除代码冗余的实现方法