您的位置是: 软件 > 开发者网络 > 开发工具 > Java > 正文 查cseek报价

浅谈Socket编程及Java实现
2001-04-07作者: wayne出处: yesky
我对此感兴趣
订阅电子杂志
发表评论
advertisement
热点推荐
· 群雄逐鹿 十四种Java开发工具点评
· 网文快捕,将网络资源搬回家
· Windows系统瘦身计划
· PS多媒体教程带你享受快乐学习
· 网络游戏外挂设计深度探索
· 武装你的桌面,桌面工具大阅兵

上一页  1 2 3  



  上面我们看了如何使用Java编写客户端的Socket接口程序,下面我也想简要的谈一谈服务器端的Socket接口程序的Java实现方法,其过程如下所述:

  1、 首先调用ServerSocket类以某个端口号为参数,创建一个ServerSocket对象,即是服务器端的服务程序在该指定端口监听的Socket。

  2、 服务器端程序使用ServerSocket对象的accept()方法,接收来自客户机程序的连接请求,此时服务器端将一直保持停滞状态,直到收到客户端发来的连接请求,此时该方法将返回一个新建的Socket类的实例,代表和客户机建立的通讯链路在服务程序内的通讯端点。如果采用Java的多线程编程方法,可以实现并发服务器,继续监听来自其他客户的连接请求。

  3、 使用新建的Socket对象创建输入、输出流对象。

  4、 使用流对象的方法完成和客户端的数据传输,按约定协议识别并处理来自客户端的请求数据,并把处理的结果返回给客户端。

  5、 客户端工作完毕后,则服务器端程序关闭和客户端通讯的流和通讯的Socket。

  6、 在服务器程序运行结束之间,应当关闭用来监听的Socket.

  下面让我们来看一个服务器端的程序的Java实现:

  代码二:

  import java.net.*;

  import java.io.*;

  public class SocketCommunicationServer

  {

   public static void main(String[] args)

   try

   {

    boolean flag=true;//设置标志位为真

    Socket client=null;//创建Socket client以接收来自客户端的请求

    String inputLine;

    ServerSocket serverSocket =new ServerSocket (9000);//以端口9000创建一个服务器Socket

    System.out.println("服务器在端口9000上监听");

    file://也可以使用serverSocket.getLocalPort()来获得端口号

    while(flag)

    {

     client=serverSocket.accept();

     file://监听并接受与此Socket的连接,该方法会阻塞直到有一个连接产生

     DataInputStream input=new DataInputStream(new BufferedInputStream(client.getInputStream()));

     PrintStream output=new PrintStream(new BufferedOutputStream(client.getOutputStream());

     while (( inputLine= input.readLine())!=null)

      {

       if(inputLine.equals("Stop"))

       {

        flag=false;

        break;

       }

       output.println(inputLine);

       output.flush();

      }

      output.close();

      input.close();

      client.close();

     }

     serverSocket.close();

     }catch(IOException e){}

    }

   }

  }

以上,我简略的谈了一下Socket编程的机制以及使用Java进行Socket编程的实现方法,希望能对大家有所帮助。

上一页  1 2 3  


【责任编辑:】
推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志发表评论

天极商业街
相关内容阅读排行榜
  • 等待是一种美丽
  • 半兽人的神话
  • 微软认为XBOX2没必要兼容XBOX
  • 日本发行新型限定版GameCube
  • 图谋低端市场 Sempron一门三杰再续辉煌
  • 密蜂大盗木马 开MM摄像头偷窥隐私
  • Win2000注册表的备份与恢复
  • 制作无人值守的Win XP安装光盘

  • advertisement