西安网站建设-西安网站制作-专业西安网站制作公司-「力洋网络」

西安力洋网络
  • 西安网站建设
  • 西安网站制作
  • 西安网站建设
  • Java网络编程之Socket

  • 发布者:本站 发布时间:2010/12/23 10:15:30
  • Java网络编程之Socket


          今日推荐·Javascript模拟的DOS窗口 ·用Javascript轻松制作抽奖系统 ·用Javascript评估用户输入密码的强度 ·用JavaScript制作弹出式窗口
          在《Java网络编程之Socket(一)》中我们已经和大家说到客户端的网络编程,下面和大家分享的是服务器的实现代码。
    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的内容输出到用户界面
     }
    }

  • 返回列表
    相关阅读
    更多
    深度挖掘网站的商用价值,化繁为简的设计,为企业找到直接有效的解决方案
    +86 (029) 88765320
    +86 15829904657
    地址:西安市太华北路369号
    万达广场4#23F P.C:7100001
    985224206@qq.com
    在线咨询: 985224206
    互联网协会成员单位
    西安力洋之星网络技术有限公司 | 版权所有
    Copyright 2008-2020 Liyang.Inc All Rights Reserved.
    Liyang.Inc