这个是客户/服务器面向连接通信的案例:可是我只能编译但不能运行,我在Socket的构造器的写的IP是我自己电脑的,绝对不会错。望各位高手赐教
(客户端)
import java.io.*;
import java.net.*;public class SayhelloClient
{
  public static void main(String[] args) throws IOException
  {
    Socket socket = new Socket("192.168.1.103", SayhelloServer.PORT);
    try
    {
      BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));      PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true);      out.println("您好,这是来自客户端的信息。");
      out.println("END");
      String str = in.readLine();
      System.out.println("服务器端:" + str);
    }
    finally
    {
      socket.close();
    }
  }
}(服务器端)
import java.net.*;
import java.io.*;public class SayhelloServer
{
  public static final int PORT = 8000;  public static void main(String[] args) throws IOException
  {
    ServerSocket s = new ServerSocket(PORT);    try
    {
      Socket socket = s.accept();
      try
      {
        BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));        PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true);        while(true)
        {
          String str = in.readLine();
          if (str.equals("END")) break;
          System.out.println("客户端:" + str);
          out.println("您好,信息已收到。");
        }
      }
      finally
      {
        socket.close();
      }
    }
    finally
    {
      s.close();
    }
  }
}

解决方案 »

  1.   

    给你个现成的C/S程序吧,我的调试过了
    客户端:
    package com.gmail.nuoboxgx.javawebprog.ch01;import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.io.PrintWriter;
    import java.net.Socket;public class EchoClient
    {
        private String host = "127.0.0.1";
        
        private int port = 8923;
        
        private Socket socket;
        
        public EchoClient() throws IOException
        {
            socket = new Socket(host, port);
        }
        
        public static void main(String args[]) throws IOException
        {
            new EchoClient().talk();
        }
        
        private PrintWriter getWriter(Socket socket) throws IOException
        {
            OutputStream socketOut = socket.getOutputStream();
            return new PrintWriter(socketOut, true);
        }
        
        private BufferedReader getReader(Socket socket) throws IOException
        {
            InputStream socketIn = socket.getInputStream();
            return new BufferedReader(new InputStreamReader(socketIn));
        }
        
        public void talk() throws IOException
        {
            try
            {
                BufferedReader br = getReader(socket);
                PrintWriter pw = getWriter(socket);
                BufferedReader localReader = new BufferedReader(new InputStreamReader(System.in));
                String msg = null;
                while ((msg = localReader.readLine()) != null)
                {
                    
                    pw.println(msg);
                    System.out.println(br.readLine());
                    
                    if (msg.equals("bye"))
                        break;
                }
            }
            catch (IOException e)
            {
                e.printStackTrace();
            }
            finally
            {
                try
                {
                    socket.close();
                }
                catch (IOException e)
                {
                    e.printStackTrace();
                }
            }
        }
    }
    服务器段:
    package com.gmail.nuoboxgx.javawebprog.ch01;import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.io.PrintWriter;
    import java.net.ServerSocket;
    import java.net.Socket;public class EchoServer
    {
        private int port = 8923;
        
        private ServerSocket serverSocket;
        
        public EchoServer() throws IOException
        {
            serverSocket = new ServerSocket(port);
            System.out.println("服务器启动");
        }
        
        public String echo(String msg)
        {
            return "echo:" + msg;
        }
        
        private PrintWriter getWriter(Socket socket) throws IOException
        {
            OutputStream socketOut = socket.getOutputStream();
            return new PrintWriter(socketOut, true);
        }
        
        private BufferedReader getReader(Socket socket) throws IOException
        {
            InputStream socketIn = socket.getInputStream();
            return new BufferedReader(new InputStreamReader(socketIn));
        }
        
        public void service()
        {
            while (true)
            {
                Socket socket = null;
                try
                {
                    socket = serverSocket.accept(); // 等待客户连接
                    System.out.println("New connection accepted " + socket.getInetAddress() + ":" + socket.getPort());
                    BufferedReader br = getReader(socket);
                    PrintWriter pw = getWriter(socket);
                    
                    String msg = null;
                    while ((msg = br.readLine()) != null)
                    {
                        System.out.println(msg);
                        pw.println(echo(msg));
                        if (msg.equals("bye")) // 如果客户发送的消息为“bye”,就结束通信
                            break;
                    }
                }
                catch (IOException e)
                {
                    e.printStackTrace();
                }
                finally
                {
                    try
                    {
                        if (socket != null)
                            socket.close(); // 断开连接
                    }
                    catch (IOException e)
                    {
                        e.printStackTrace();
                    }
                }
            }
        }
        
        public static void main(String args[]) throws IOException
        {
            new EchoServer().service();
        }
    }