查看原文
其他

Java网络编程之TCP协议

Java面试 2020-10-17

今天咱们来聊聊网络编程中的

TCP协议

TCP协议

客户端

1)创建Socket连接服务端(指定ip地址,端口号)通过ip地址找对应的服务器

2)调用Socket的getInputStream()和getOutputStream()方法获取和服务端相连的IO流

3)输入流可以读取服务端输出流写出的数据

4)输出流可以写出数据到服务端的输入流


服务端

1)创建ServerSocket(需要指定端口号)

2)调用ServerSocket的accept()方法接收一个客户端请求,得到一个Socket

3)调用Socket的getInputStream()和getOutputStream()方法获取和客户端相连的IO流

4)输入流可以读取客户端输出流写出的数据

5)输出流可以写出数据到客户端的输入流

1)创建ServerSocket(需要指定端口号)

2)调用ServerSocket的accept()方法接收一个客户端请求,得到一个Socket

3)调用Socket的getInputStream()和getOutputStream()方法获取和客户端相连的IO流

4)输入流可以读取客户端输出流写出的数据

5)输出流可以写出数据到客户端的输入流


效果展示


注意:

在执行的时候,要添加全路径名就是com.socket.tcp这一段不然是会报错的

TCP协议代码优化

实现了传输功能时候,咱们来优化一下代码

客户端


服务端

服务端这边应该是多线程的,因为作为服务端咱们不可能只服务一个客户不是~

效果就是上面的那样就不在演示了

来做一个小练习

1)客户端向服务器写字符串(键盘录入)

2)服务器(多线程)将字符串反转后写回

3)客户端再次读取到是反转后的字符串

客户端


服务端

效果就不演示了

给小伙伴们一个机会

猜猜这段代码会不会翻车

(⊙o⊙)…


那么就先到这里了

再见了


扩展阅读

Java网络编程之UDP协议

如何学习TCP协议

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存