server端不能那样写吧。肯定要通过线程来实现客户端的链接

解决方案 »

  1.   

    String line = in.readLine();改为:
    // 等待客户端的输入
            char[] buffer = new char[1024];
            int lineSize = in.read(buffer);
            String clientString = new String(buffer, 0, lineSize - 1);
            System.out.println("The client command string is:" + clientString);试试
      

  2.   

    public static void main(String[] args){
    new Server();
    -------------------^^^^^^^^^^^换成Server server1=new Server();
    }Client也一样
      

  3.   

    一个oracle 的事例import java.net.*;
    import java.io.*;
    import java.sql.*;
    public class Server {

    public static void main(String[] args){
    ServerSocket serverSocket;
    Socket clientSocket;
    BufferedReader br;
    PrintStream ps;
    String username,password,email,homepage,money,outString,sql;
    String url="jdbc:oracle:oci8:@oracledb";

    try{
    Class.forName("oracle.jdbc.driver.OracleDriver");
    Connection con=DriverManager.getConnection(url,"scott","tiger");
    Statement stmt=con.createStatement();

    serverSocket=new ServerSocket(8888);
    clientSocket=serverSocket.accept();

    br=new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
    ps=new PrintStream(clientSocket.getOutputStream());

    username=br.readLine();
    outString="\t\t\t\t\t你输入的姓名是:"+username;
    ps.println(outString);
    ps.flush();

    password=br.readLine();
    outString="\t\t\t\t\t你输入的密码是:"+password;
    ps.println(outString);
    ps.flush();

    email=br.readLine();
    outString="\t\t\t\t\t你输入的电子邮件地址是:"+email;
    ps.println(outString);
    ps.flush();

    homepage=br.readLine();
    outString="\t\t\t\t\t你输入的主页是:"+homepage;
    ps.println(outString);
    ps.flush();

    money=br.readLine();
    outString="\t\t\t\t\t你输入的金额是:"+money;
    ps.println(outString);
    ps.flush();

    sql="insert into userinfo values(\'"+username+"\',\'"+
                                     password+"\',\'"+
                                     email+"\',\'"+
                                     homepage+"\',"+
                                     "sysdate,"+
                                     money+")";
    int ret=stmt.executeUpdate(sql);

    br.close();
    ps.close();
    stmt.close();
    con.close();
    serverSocket.close();
    clientSocket.close();

    }catch (Exception e){
    System.out.println(e);
    }
       }
    }
    import java.net.*;
    import java.io.*;
    public class Client{
     
    public static void main(String[] args){

    Socket clientSocket;
    BufferedReader br1,br2;
    PrintStream ps;
    String username,password,email,homepage,money,inString;

    try{
    clientSocket=new Socket("localhost",8888);

    br1=new BufferedReader(new InputStreamReader(System.in));
    br2=new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
    ps =new PrintStream(clientSocket.getOutputStream());

    System.out.println("请输入用户姓名(必须项,最多20个字符):");
    username=br1.readLine();
    ps.println(username);
    ps.flush();

    inString=br2.readLine();
    System.out.println(inString);

    System.out.print("请输入密码(必须项,最多20个字符):");
    password=br1.readLine();
    ps.println(password);
    ps.flush();

    inString=br2.readLine();
    System.out.println(inString);

    System.out.print("请输入电子邮件地址(最多30个字符):");
    email=br1.readLine();
    ps.println(email);
    ps.flush();

    inString=br2.readLine();
    System.out.println(inString);

    System.out.print("请输入个人主页(最多50个字符):");
    homepage=br1.readLine();
    ps.println(homepage);
    ps.flush();

    inString=br2.readLine();
    System.out.println(inString);

    System.out.print("请输入金额(必须项,只能是数字):");
    money=br1.readLine();
    ps.println(money);
    ps.flush();

    inString=br2.readLine();
    System.out.println(inString);

    br1.close();
    br2.close();
    ps.close();

    clientSocket.close();

       }catch(Exception e){
        System.out.println(e);
       }
    }
    }数据库结构
    CREATE TABLE useinfo
    (
       username varchar2(20) not null primary key,
       password varchar2(20) not null,
       email varchar2(30),
       homepage varchar2(50),
       regtime date,
       money number(10)
    );
    commit;
    exit;