介绍
这期内容当中小编将会给大家带来有关Java项目中的多线程通信如何利用套接字实现,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
Java Socket实现多线程通信的方法,代码如下:
包com.googlecode.garbagecan.test.socket.sample2; 进口java.io.BufferedReader; 进口java.io.IOException; 进口java.io.InputStreamReader; 进口java.io.PrintWriter; 进口java.net.ServerSocket; 进口java.net.Socket; 公开课MyServer { 公共静态void main (String [] args)抛出IOException { 考察一下服务器=考察(10000); 而(真){ Socket套接字=server.accept (); 调用(插座); } } 私有静态调用无效(最终客户套接字)抛出IOException { 新线程(新Runnable () { 公共空间run () { BufferedReader=零; PrintWriter=零; 尝试{ 在=new BufferedReader(新InputStreamReader (client.getInputStream ()));=新PrintWriter (client.getOutputStream ()); 而(真){ 字符串味精=in.readLine (); System.out.println(味精); out.println(“服务器收到“+味精); out.flush (); 如果(msg.equals (“bye")) { 打破; } } }捕捉(IOException ex) { ex.printStackTrace (); 最后}{ 尝试{ in.close (); }捕捉(异常e) {} 尝试{ out.close (); }捕捉(异常e) {} 尝试{ client.close (); }捕捉(异常e) {} } } }) .start (); } }
下面是客户端程序代码:
包com.googlecode.garbagecan.test.socket.sample2; 进口java.io.BufferedReader; 进口java.io.InputStreamReader; 进口java.io.PrintWriter; 进口java.net.Socket; 公开课MyClient { 公共静态void main (String [] args){抛出异常 新的套接字(Socket套接字=發ocalhost", 10000); BufferedReader=new BufferedReader(新InputStreamReader (socket.getInputStream ())); PrintWriter=new PrintWriter (socket.getOutputStream ()); BufferedReader读者=new BufferedReader(新InputStreamReader(系统)); 而(真){ 字符串味精=reader.readLine (); out.println(味精); out.flush (); 如果(msg.equals (“bye")) { 打破; } System.out.println (in.readLine ()); } socket.close (); } }
测试,首先运行MyServer类,然后运行两个MyClient类,然后分别在每个MyClient的提示符下输入字符串,就可以看到服务器可以分别接收处理每个客户的请求了。
上述就是小编为大家分享的Java项目中的多线程通信如何利用套接字实现了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。