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

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

上一页  1 2 3  下一页



  让我们先来看看客户段程序编写的流程:

  1、 首先调用Socket类的构造函数,以服务器的指定的IP地址或指定的主机名和指定的端口号为参数,创建一个Socket流,在创建Socket流的过程中包含了向服务器请求建立通讯连接的过程实现。

  2、 建立了客户端通讯Socket后。就可以使用Socket的方法getInputStream()和getOutputStream()来创建输入/输出流。这样,使用Socket类后,网络输入输出也转化为使用流对象的过程。

  3、 使用输入输出流对象的相应方法读写字节流数据,因为流连接着通讯所用的Socket,Socket又是和服务器端建立连接的一个端点,因此数据将通过连接从服务器得到或发向服务器。这时我们就可以对字节流数据按客户端和服务器之间的协议进行处理,完成双方的通讯任务。

  4、 待通讯任务完毕后,我们用流对象的close()方法来关闭用于网络通讯的输入输出流,在用Socket对象的close()方法来关闭Socket。

  下面,我想通过一个简单的例子来进一步介绍一下客户端程序的编写

  代码一:

  import java.io.*;

  import java.net.*;

  public class SocketCommunicationClient

  {

   public static void main(String[] args)

   {

   try{

   Socket clientSocket =new Socket ("mice",9000);//创建一个流Socket并与主机mice上的端口9000相连接

   OutputStream output =clientSocket.getOutputStream();//向此Socket写入字节的一个输出流

   DataInputStream input=new DataInputStream(clientSocket.getInputStream());

   file://创建新的数据输入流以便从指定的输入流中读出数据

   int c;

   String response;

   while (( c= System.in.read())!=-1)//从屏幕上接受输入的字符串,并且分解成一个个字符

    {

    output.write((byte)c);

    if(c=='\n')//如果字符为回车,则输出字符串缓冲

    {

     output.flush();

     response=input.readLine();

     System.out.println("Communication:"+response);

    }

   }

   output.close();

   input.close();

   clientSocket.close();

   } catch (Exception e){

    System.err.println("Exception :"+e);

   }

  }

  }

这个程序是一个非常的简单的数据通讯的例子,程序先创建了一个Socket并和主机mice上的端口9000相连接,然后打开输入输出流,接着程序从标准输入接收字符并写入流中,每写满一行(以用户键入回车为标志),就把缓冲区中的字符串送往mice上的服务器端程序进行处理,等待服务器端的应答。input.readLine()方法调用将导致程序停滞直到收到应答信息,程序将一直重复这个过程,直到用户输入中止符。最后程序要关闭socket输入输出流,在关闭socket和服务器端的连接。

上一页  1 2 3  下一页


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

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

  • advertisement