1 服务端不一定是java的server socket,可以用c, vb, delphi等做出serversocket
2 new Socket("127.0.0.1,1800"); >>> new Socket("127.0.0.1", 1800);
3 不是的,比如你可以连 www.163.com 的80端口,你能读到一个网易的首页

解决方案 »

  1.   

    // ServerSocketSample.javaimport java.io.*;
    import java.net.*;
    import javax.swing.*;
    import javax.swing.JFrame;
    import java.awt.event.*;
    import java.awt.*;public class ServerSocketSample extends JFrame implements ActionListener,Runnable
    {
        public final int port = 23711;
        private ServerSocket serversocket = null;
        private JTextArea txt = null;
        private static ServerSocketSample serverSocketSample1 = null;
        private JButton btn_accept = null;
        private JButton btn_stop = null;
        private boolean socket_closed = true;
        public ServerSocketSample()
        {
            super();
            addWindowListener
            (
            new WindowAdapter()
            {
                public void windowClosing(WindowEvent e)
                {
                    System.exit(0);
                }
            }
            );        JPanel jp = new JPanel();
            btn_accept = new JButton("Accept");
            btn_accept.addActionListener(this);
            jp.add(btn_accept);
            btn_stop = new JButton("Stop");
            btn_stop.addActionListener(this);
            btn_stop.setEnabled(false);
            jp.add(btn_stop);
            getContentPane().add(jp,BorderLayout.NORTH);
            txt = new JTextArea();
            txt.setEditable(false);
            txt.setLineWrap(true);
            JScrollPane jsp = new JScrollPane(txt);        getContentPane().add(jsp);
            txt.setTabSize(4);
            setSize(400,400);
            setVisible(true);
        }    public void run()
        {
            try
            {
                while(!socket_closed)
                {
                    Socket ClientSocket = serversocket.accept();
                    BufferedReader reader = new BufferedReader(new InputStreamReader(ClientSocket.getInputStream()));
                    String msg = reader.readLine();
                    txt.append(msg);
                    PrintWriter output = new PrintWriter(ClientSocket.getOutputStream(),true);
                    output.println("服务器:" + msg + "\n\r");
                    reader.close();
                    output.close();
                    ClientSocket.close();
                }
            }
            catch(IOException ex)
            {ex.printStackTrace();}
        }    public void actionPerformed(ActionEvent e)
        {
            Thread LocalThread = new Thread(serverSocketSample1,"ServerSocketSample");
            if(e.getActionCommand() == "Accept")
            {
                try { serversocket = new ServerSocket(port); }
                catch(IOException ex) { ex.printStackTrace(); }            socket_closed = false;
                LocalThread.start();
                txt.append("开始监听……\n");
                btn_accept.setEnabled(false);
                btn_stop.setEnabled(true);
            }
            else
            {
                socket_closed = true;
                try { serversocket.close(); }
                catch(IOException ex) { ex.printStackTrace(); }            txt.append("停止监听……\n");            btn_accept.setEnabled(true);
                btn_stop.setEnabled(false);
            }
        }    public static void main(String[] args)
        {
            serverSocketSample1 = new ServerSocketSample();
        }}
      

  2.   

    // ClientSocketSample.javaimport java.net.*;
    import java.io.*;public class ClientSocketSample
    {
        public static final String host = "192.168.1.219";
        public static final int port = 23711;
        public ClientSocketSample()
        {
            super();
        }    public void testEcho()
        {
            try
            {
                Socket clientS = new Socket(host,port);
                PrintWriter output = new PrintWriter(clientS.getOutputStream(),true);
                BufferedReader reader = new BufferedReader(new InputStreamReader(clientS.getInputStream()));
         //       output.write("Hello");
                output.println("Hello");
                System.out.println("Server:" + reader.readLine());
                output.close();
                reader.close();
                clientS.close();
            }
            catch(UnknownHostException ex)
            {
                ex.printStackTrace();
            }
            catch(IOException ex)
            {
                ex.printStackTrace();
            }
        }    public static void main(String[] args)
        {
            ClientSocketSample clientSocketSample1 = new ClientSocketSample();
            clientSocketSample1.testEcho();
        }
    }