⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 client.java

📁 有关JAVA的SOCKET通讯的源码,主要是基本的通用的代码格式
💻 JAVA
字号:
package socket.test.tcp.chat;/** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2005</p> * <p>Company: </p> * @author not attributable * @version 1.0 *///Client.javaimport java.io.*;import java.net.*;import java.awt.*;import java.awt.event.*; public   class   Client  extends  Frame implements  ActionListener,Runnable{      private TextField tf1,tf2;      private  Label la1,la2;      private TextArea  ta1,ta2;      private Socket s;      private Button b,l;      private BufferedReader br=null;      private  PrintWriter pw=null;     // private byte         // static  String   port,ip;      public static void   main(String arg[]) {         new Client();      //if(arg[0].length()!=0)  ip=arg[0];        //if(arg[1].length()!=0)  port=arg[1];          }      //完成构造函数的说明      public Client(){          //完成ip地址与端口的建立          setLayout(new GridLayout(6,1));         Panel panel=new Panel();          tf1=new TextField(20);          tf2=new TextField(10);          la1=new Label("IP地址 ");          la2=new Label("对应端口    ");          Button l=new Button("连接");          l.setBackground(Color.green);          //l.addActionListener(this);          panel.add(la1);          panel.add(tf1);          panel.add(la2);          panel.add(tf2);          panel.add(l);          add(panel);        //输入框与显示框         ta1=new  TextArea(100,300);         add(new Label("消息框"));         add(ta1);         add(new Label("用户输入框"));         ta2=new  TextArea(30,300);           add(ta2);          Panel p2=new Panel();          b=new Button("发送");          b.setBackground(Color.yellow);          p2.add(b);          add(p2);          setTitle("客户端");          setSize(300,450);          setResizable(false);          setVisible(true);          //捕获各种的异常          l.addActionListener(this);      //    b.addActionListener(this);          //增加了一个关闭的事件          addWindowListener(new WindowAdapter(){          public void windowClosing(WindowEvent exit){ System.exit(0);}});         Thread   ThreadReader=new Thread(this);          ThreadReader.start();        b.addActionListener(this); } public void run(){                   while(true){               try{                   ta1.append(" #_____________________________#\n"+br.readLine()+"\n ");             }catch(Exception exo){}             }      }        //客户向服务端发送消息啊! public void actionPerformed(ActionEvent  e)   {   String command=e.getActionCommand();        if("发送".equals(command))         {           if(ta2.getText().trim()!=null)              {                ta1.append("  客户端的消息:"+ta2.getText()+"\n");               // pw.println              // String str=ta2.getText().trim();                byte[] by=new byte[32];                by=ta2.getText().getBytes();                pw.println(by);//"    客户短信:  "                }            else                    if(ta2.getText().trim()==null)            { ta1.append("请输入完整的IP地址与端口以及、"+"不能空发消息\n");}                   ta2.setText(" "); //结束的时候清空文本框          }     else       if("连接".equals(command)){       try           {           // InterAddress           //借助连接的按钮完成远程pc的连接的工作。建立输入与输出流两个工具         s=new Socket(tf1.getText().toString(),Integer.parseInt((tf2.getText()).trim()));         //Integer.parseInt((tf2.getText()).trim())         br=new BufferedReader(new InputStreamReader(s.getInputStream()));         pw=new PrintWriter(s.getOutputStream(),true);         //ta1.append(" 服务端来消息:"+br.readLine());         }         catch(Exception ex){             //ta1.append("产生了输入输出异常无法完成交互!");             }          }       }  }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -