快速业务通道

使用Java编写网络通信程序 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
i、从输入和输出流中读入或写入字节流,进行相应的处理,并将结果返回给客户端;

iiii、在客户端和服务器工作结束后关闭所有的对象,如服务器型的套接字,普通套接字,输入和输出流。

正是由于Java系统具有基于Socket的灵活通信机制,因而其应用程序能自由地打开和访问网络上的对象,就象在本地文件系统中一样。

使用Java编写网络通信程序(4)

时间:2010-09-13

(2) Applet之间的通信:

Applet之间的通信使用Applet Context类的getApplet()方法。

<applet code=applet1.class width=200 height=200 name=first>

只要在程序中加入

Applet oneapplet=getAppletContext().getApplet("first");便可使用name为first的Applet中的方法了。

在该课题中大量使用了该种通信方法,因为专门同服务器端通信的 Applet中包含接收信息方法和发送信息方法,所有客户端的Applet都要使用负责通信的Applet中的方法,所以客户端的Applet同负责通信的Applet必须进行通信。

程序

//服务器端程序S.java 负责与客户端通信 import java.io.*; import java.net.*; import java.lang.*; import T2; class ThreadEchoHandler extends Thread //创建线程 {  T2 theT2=new T2();  Socket incoming;  int counter;  ThreadEchoHandler(Socket i,int c)  {   incoming=i;   counter=c;  }  public void run()  {   try   {    DataInputStream in=new DataInputStream(incoming.getInputStream());    DataOutputStream out=new DataOutputStream(incoming.getOutputStream());    System.out.println ("hello");    boolean done=false;    while(!done)    {     String aa="";     String str=in.readUTF(); //从客户端得到字符串     //在此加入各自的服务程序     System.out.println (str);     theT2.pass(str); //解码     theT2.tongji(); //修改监控库中的信息     aa=theT2.guan(); //操纵数据库     System.out.println ("string z is:"+aa);     if(aa.compareTo("null")!=0 )     //若是查询数据库,返回查询后的结果     {      //若不是查询数据库,不向客户端输出信息      out.writeUTF(aa);      out.flush();     }    }//while    incoming.close(); //线程关闭   }//try   catch(IOException e)   {System.out.println(e);}  }//end run } //---------------------------------------- class S {  public static void main(String[] args)  {   int i=1;   try   {    ServerSocket s=new ServerSocket(1111);    for(;;)    {     Socket incoming=s.accept();     System.out.println("connect: "+i);     new ThreadEchoHandler(incoming,i).start();     i++;    }   }   catch(Exception e)   { System.out.println(e); }  } } //客户端通信小应用程序 Echo.java import java.io.*; import java.net.*; import java.awt.*; import java.applet.*; public class Echo extends Applet {  TextArea ta;  Socket echoSocket;  DataOutputStream os;  DataInputStream is;  String Line;  public void init()  {   setBackground(Color.white);   ta=new TextArea(5,80);   ta.setEditable(false);   add(ta);   try   {    echoSocket=new Socket("10.102.4.41",1111);} //与服务器建立连接    catch(IOException e)    {System.out.println("e

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号