当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:15:00  来源:本站整理

用Java Socket开辟支持上千个并发的小型服务器(下)[Java编程]

赞助商链接



  本文“用Java Socket开辟支持上千个并发的小型服务器(下)[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

总结一下客户机

我们的类研究完了.在我们持续往前谈论服务器端的情形之前,让我们回想一下成立和利用Socket的步骤:

1.用您想衔接的机械的IP地址和端口实例化Socket(若有问题则抛出Exception).

2.获得Socket上的流以举行读写.

3.把流包装进BufferedReader/PrintWriter的实例,假如这样做能使事情更简单的话.

4.对Socket举行读写.

5.关闭翻开的流.

5成立服务器Socket

成立RemoteFileServer类

importjava.io.*;
importjava.net.*;
publicclassRemoteFileServer{
  intlistenPort;
  publicRemoteFileServer(intlistenPort){
    this.listenPort=listenPort;
  }
  //答应客户机衔接到服务器,等候客户机恳求
  publicvoidacceptConnections(){
    try{
      ServerSocketserver=newServerSocket(listenPort);
      SocketincomingConnection=null;
      while(true){
        incomingConnection=server.accept();
        handleConnection(incomingConnection);
      }
    }
    catch(BindExceptione){
      System.out.println("Unabletobindtoport"+listenPort);
    }
    catch(IOExceptione){
      System.out.println("UnabletoinstantiateaServerSocketonport:"+listenPort);

    }
  }
  //与客户机Socket交互以将客户机所恳求的文件的内容发送到客户机
  publicvoidhandleConnection(SocketincomingConnection){
    try{
      OutputStreamoutputToSocket=incomingConnection.getOutputStream();
      InputStreaminputFromSocket=incomingConnection.getInputStream();
      BufferedReaderstreamReader=newBufferedReader(newInputStreamReader(inputFromSocket));
      FileReaderfileReader=newFileReader(newFile(streamReader.readLine()));
      BufferedReaderbufferedFileReader=newBufferedReader(fileReader);
      PrintWriterstreamWriter=newPrintWriter(incomingConnection.getOutputStream());
      Stringline=null;
      while((line=bufferedFileReader.readLine())!=null){
        streamWriter.println(line);
      }
      fileReader.close();
      streamWriter.close();
      streamReader.close();
    }
    catch(Exceptione){
      System.out.println("Errorhandlingaclient:"+e);
      e.printStackTrace();
    }
  }
  publicstaticvoidmain(Stringargs[]){
    RemoteFileServerserver=newRemoteFileServer(1001);
    server.acceptConnections();
  }
}


  以上是“用Java Socket开辟支持上千个并发的小型服务器(下)[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 利用Javascript实现网页水印(非图片水印)
  • <b>如安在Oracle中利用Java存储历程</b>
  • 用Java实现自动在数据库表中生成ID号
  • 利用javascript获得浏览器中的星号密码办法
  • 用javabean来实现MySQL的分页显示
  • 用Java 1.1 AWT制作窗口和程序片
  • 用Java ME举行无线消息传送
  • <b>用Java筹划COM服务器</b>
  • 用Java筹划COM客户
  • <b>用Java程序生成文本的捷径</b>
  • 用Java实现FTP服务器办理策划
  • 用Java实现多线程服务器程序
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .