前言
前篇使用基于UDP来创建了发送端及输出端,本篇对前篇代码进行进一步优化.
由于前篇的是创建了输入端和输出端,有一边专门进行发送数据,一边专门接收数据,这样显得非常不对,在显示生活中其实是两边应该可以进行对话的,类似聊天软件进行互动,可以你一句,我一句的聊天。本篇就对将代码进行进一步优化,是两边都可以进行发送数据和接收数据。
由于接受数据和发送数据其实是两个功能,放到一个类中,就可能会出现只执行一个方法,这就不得不使用多线程技术,这样就可以实现同时又是接受方,又是输出方。
优化代码如下:
public class Chat {
public static void main(String[] args) {
//创建键盘录入
Scanner scanner = new Scanner(System.in);
//发送数据
new Thread(new Runnable() {
@Override
public void run() {
//因为会有异常,所以需要抓一下异常
try (