JavaSocket语句中While循环的使用方法

Java Socket语句在使用的时候有很多时候都需要我们注意小语法的使用,其中While循环就是一个,这个程序只是简单的两台计算机之间的通讯.如果是多个客户同时访问一个服务器呢?你可以试着再运行一个客户端,结果是会抛出异常的.那么多个客户端如何实现呢?

创新互联公司专业为企业提供覃塘网站建设、覃塘做网站、覃塘网站设计、覃塘网站制作等企业网站建设、网页设计与制作、覃塘企业网站模板建站服务,十多年覃塘做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

其实,简单的分析一下,就可以看出客户和服务通讯的主要通道就是Java Socket语句本身.而服务器通过accept方法就是同意和客户建立通讯.这样当客户建立Java Socket语句的同时.服务器也会使用这一根连线来先后通讯.那么既然如此只要我们存在多条连线就可以了.那么我们的程序可以变为如下:

服务器:

 
 
 
  1. import java.io.*;   
  2. import java.net.*;   
  3. public class MyServer {   
  4. public static void main(String[] args) throws IOException{   
  5. ServerSocket server=new ServerSocket(5678);   
  6. while(true){   
  7. Socket client=server.accept();   
  8. BufferedReader in=new BufferedReader(new InputStream
    Reader(client.getInputStream()));   
  9. PrintWriter out=new PrintWriter(client.getOutputStream());   
  10. while(true){   
  11. String str=in.readLine();   
  12. System.out.println(str);   
  13. out.println("has receive....");   
  14. out.flush();   
  15. if(str.equals("end"))   
  16. break;   
  17. }   
  18. client.close();   
  19. }   
  20. }  
  21. }  

这里仅仅只是加了一个外层的While循环.这个循环的目的就是当一个客户进来就为它分配一个Java Socket语句直到这个客户完成一次和服务器的交互,这里也就是接受到客户的"End"消息.那么现在就实现了多客户之间的交互了.但是.问题又来了.这样做虽然解决了多客户,可是是排队执行的.也就是说当一个客户和服务器完成一次通讯之后下一个客户才可以进来和服务器交互.无法做到同时服务.那么要如何才能同时达到既能相互之间交流又能同时交流呢?很显然这是一个并行执行的问题了.所以线程是最好的解决方案.

新闻标题:JavaSocket语句中While循环的使用方法
路径分享:http://www.mswzjz.cn/qtweb/news4/282904.html

攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能