网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.Swing读书笔记JInternalFrame的使.
.Java学习集中营各种问题的分析讲.
.J2EE、CORBA、DNA三种主流中间件.
.SCNA认证全面介绍.
.Web框架对比: Wicket .
.使用J2ME技术实现简单的动画(附代.
.JDBC2.0扩展API(1).
.Java开源技术:Eclipse的使用技巧.
.遍历目录实现删除,取得大小及深度.
.JDB的简单使用.
.Java程序员就业前景.
.JAVA多态性.
.getSeconds 方法.
.通过socket传递java对象(对象序列.
.对J2EE项目的一些体会.
.Java读取文件中含有中文的解决办.
.Java学习从入门到精通[书籍].
.从TXT文件中一行一行读取数字.
.java2html_src_0.8alpha源代码发.
.310-025 scjp exam dumps 06/10/.

利用Socket进行Java网络编程(三)

发表日期:2008-1-5



  作者: 郗旻
  附:服务器的实现代码
  import Java.net.*;
  import java.io.*;
  import java.awt.event.ActionEvent;
  import java.awt.event.ActionListener;
  public class talkServer
  { public static void main(String[] args)
   { try
    { file://建立服务器
     ServerSocket server = new ServerSocket(9998);
     int i=1;
     for(;;)
      { Socket incoming = server.accept()
       new ServerThread(incoming,i).start();
       i++;
      }
     }catch (IOException ex){
     ex.printStackTrace();
    }
   }
  }
  class ServerThread extends Thread implements ActionListener
  {
   private int threadNum;
   private Socket socket;
   talkServerFrm t;
   BufferedReader in;
   PrintWriter out;
   private boolean talking=true;
   public ServerThread(Socket s,int c)
   { threadNum = c;
    socket = s;
   }
  public void actionPerformed(ActionEvent e)
  { Object source = e.getSource();
   try{
    if(source==t.BTnSend)
     { out.println(t.getTalk());
      t.clearTalk();
    }else
    if(source==t.btnEnd)
     { out.println("谈话过程被对方终止");
      out.close();
      in.close();
      talking = false;
     }
   }catch(IOException ex){
   }
  }
  public void run()
  { try{
    t=new talkServerFrm(new Integer(threadNum).toString(),this);
    t.setSize(500,500);
    t.show();
    in = new BufferedReader(new
        InputStreamReader(socket.getInputStream()));
    out = new PrintWriter(socket.getOutputStream(),true);
   }catch(Exception e){
  }
   new Thread()
   { public void run()
    { try{
      while(true)
      { checkInput();
       sleep(1000);
    }
   }catch (InterruptedException ex){
   }catch(IOException ex){
   }
   }
   }.start();
   while(talking)
   { }
   t.dispose();
   }
  private void checkInput() throws IOException
  { String line;
   if((line=in.readLine())!=null)
    t.setPartner(line); file://这是界面类里的方法,
    file://用来将line的内容输出到用户界面
   }
  }
上一篇:“网络蚂蚁”的Java实现 人气:582
下一篇:Java通信和网络管理 人气:958
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐