public static void mainString args throws Exception new demonstation; public void run ifThreadcurrentThread == firstHand lbljt1setLocation130 160; lbljt1sho
这段代码是一个多线程的程序,通过实现Runnable接口的run方法,来执行不同线程的任务。
在main方法中,创建了一个demonstation对象,然后调用其run方法。
在run方法中,首先通过判断当前线程是哪个线程来执行相应的代码块。
如果是firstHand线程,将显示lbljt1和lblFirstHand,然后调用server的firsthand方法,并将返回的结果显示在lblFirstHand上。接着通过循环,将lbljt1和lblFirstHand向右移动,直到x>350,然后隐藏lbljt1和lblFirstHand,并启动secendHand线程。
如果是secendHand线程,将显示lbljt2,然后调用client的secendhand方法,并将返回的结果显示在lblSecendHand上。接着通过循环,将lbljt2和lblSecendHand向左移动,直到x<130,然后隐藏lbljt2和lblSecendHand,并启动thirdHand线程。
如果是thirdHand线程,将显示lbljt1,然后调用server的thirdhand方法,并将返回的结果显示在lblThirdHand上。接着通过循环,将lbljt1和lblThirdHand向右移动,直到x>350,然后显示"三次握手TCP连接建立完成"的提示信息,并启动Firstbye线程。
如果是Firstbye线程,将隐藏lblThirdHand,然后显示lbljt1,调用client的fouthsend方法和server的fourthhand方法,并将返回的结果显示在lblFirstBye上。接着通过循环,将lbljt1和lblFirstBye向右移动,直到x>350,然后隐藏lbljt1和lblFirstBye,并启动Secendbye线程。
如果是Secendbye线程,将显示lbljt2,然后调用client的fifthhand方法,并将返回的结果显示在lblSecendBye上。接着通过循环,将lbljt2和lblSecendBye向左移动,直到x<130,然后隐藏lblSecendBye,并启动Thirdbye线程。
如果是Thirdbye线程,将显示lbljt2,然后调用server的sixthhand方法和client的sixthhand方法,并将返回的结果显示在lblThirdBye上。接着通过循环,将lbljt2和lblThirdBye向左移动,直到x<130,然后隐藏lbljt2和lblThirdBye,并启动Fourthbye线程。
如果是Fourthbye线程,将显示lbljt1,然后调用server的sevenhand方法,并将返回的结果显示在lblFourthBye上。接着通过循环,将lbljt1和lblFourthBye向右移动,直到x>350,然后显示"四次挥手TCP已断开连接"的提示信息。
最后,根据不同的线程,调用相应的打印方法。
总的来说,这段代码模拟了TCP协议的三次握手和四次挥手的过程,并通过图形界面显示相应的操作和结果
原文地址: https://www.cveoy.top/t/topic/h64s 著作权归作者所有。请勿转载和采集!