欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

java socket tcp通讯,多个客户端连接服务器简单例子,sockettcp,服务器端 import

来源: javaer 分享于  点击 30399 次 点评:121

java socket tcp通讯,多个客户端连接服务器简单例子,sockettcp,服务器端 import


服务器端

import java.net.*;  import java.io.*;  public class TCPServer {      public TCPServer() throws Exception{        ServerSocket ss = new ServerSocket(6666);        while (true) {              Socket s = ss.accept();              new ServerThread(s).start();        }    }    public static void main(String[] args) throws Exception {         new TCPServer();    }      protected class ServerThread extends Thread{         Socket s;        public ServerThread(Socket s1){            s = s1;        }        public void run(){             System.out.println("a client connect!");              try{                DataInputStream dis = new DataInputStream(s.getInputStream());//服务器通过输入管道接收数据流                  String str;                while((str = dis.readUTF()).length() > 0){                    System.err.println(str);//输出读入的数据                  }            }            catch(Exception ex){                ex.printStackTrace();            }        }    }}```客户端```javaimport java.awt.EventQueue;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.border.EmptyBorder;import javax.swing.JButton;import java.awt.event.ActionListener;import java.awt.event.ActionEvent;import java.io.DataOutputStream;import java.io.OutputStream;import java.net.Socket;import javax.swing.JTextField;public class TCPClientFrame extends JFrame {    Socket s;    DataOutputStream dos;    private JPanel contentPane;    private JTextField textField;    private JButton button;    /**     * Launch the application.     */    public static void main(String[] args) {        EventQueue.invokeLater(new Runnable() {            public void run() {                try {                    TCPClientFrame frame = new TCPClientFrame();                    frame.setVisible(true);                } catch (Exception e) {                    e.printStackTrace();                }            }        });    }    /**     * Create the frame.     */    public TCPClientFrame() {        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        setBounds(100, 100, 450, 300);        contentPane = new JPanel();        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));        setContentPane(contentPane);        contentPane.setLayout(null);        JButton btnNewButton = new JButton("连接");        btnNewButton.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent e) {                try{                    s = new Socket("127.0.0.1", 6666);                      OutputStream os = s.getOutputStream();  //得到输出管道                      dos = new DataOutputStream(os);//创建数据传输流                  }                catch(Exception ex){                    ex.printStackTrace();                }            }        });        btnNewButton.setBounds(10, 10, 93, 23);        contentPane.add(btnNewButton);        JButton btnNewButton_1 = new JButton("发消息");        btnNewButton_1.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent e) {                try{                     dos.writeUTF(textField.getText());//客户端传输数据                       dos.flush();                  }                catch(Exception ex){                    ex.printStackTrace();                }            }        });        btnNewButton_1.setBounds(141, 10, 93, 23);        contentPane.add(btnNewButton_1);        textField = new JTextField();        textField.setBounds(10, 56, 66, 21);        contentPane.add(textField);        textField.setColumns(10);        button = new JButton("自动发消息");        button.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent e) {                try{                    while(true){                         dos.writeUTF("======自动发的消息");//客户端传输数据                           dos.flush();                      }                }                catch(Exception ex){                    ex.printStackTrace();                }            }        });        button.setBounds(314, 10, 93, 23);        contentPane.add(button);    }}
相关栏目:

用户点评