想在服务器端进行两数相加,但是代码运行有问题,下面贴码
1.Client.java
package exercise1;import java.io.*;
import java.net.*;public class Client { public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub Socket clientSocket = new Socket("192.168.1.103", 6789);
System.out.print("please input two numbers:");
String temp = new String();
BufferedReader inFromUser = new BufferedReader(new InputStreamReader(
System.in));
DataOutputStream outToServer = new DataOutputStream(
clientSocket.getOutputStream());
BufferedReader inFromServer = new BufferedReader(new InputStreamReader(
clientSocket.getInputStream()));
temp = inFromUser.readLine();
System.out.println(temp);
outToServer.writeBytes(temp);
// System.out.print("Server is calculating......"+"\n");
// System.out.print("the summary of two numbers is: ");
String result = inFromServer.readLine();
System.out.print(result); }
}2.Server.java
package exercise1;import java.io.*;
import java.net.*;public class Server { public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
ServerSocket welcomeSocket = new ServerSocket(6789);
int add1, add2, sum;
String sentence;
String[] seperateSentence;
while (true) { Socket connectSocket = welcomeSocket.accept();
BufferedReader inFromClient = new BufferedReader(
new InputStreamReader(connectSocket.getInputStream()));
DataOutputStream outToClient = new DataOutputStream(
connectSocket.getOutputStream());
sentence = inFromClient.readLine();
seperateSentence = sentence.split(" ");
add1 = Integer.parseInt(seperateSentence[0]);
add2 = Integer.parseInt(seperateSentence[1]);
sum = add1 + add2;
outToClient.write(sum); }
}}基本是照着入门的copy的,但跑起来有问题,求解

解决方案 »

  1.   

    我对代码的数据流定义修改了一下。服务器:public class Socket_Server {
    public static void main(String[] args) throws IOException
    {
    ServerSocket welcomeSocket = new ServerSocket(6789);
    int add1, add2, sum;
    String sentence;
    String[] seperateSentence; while (true)
    {
    Socket connectSocket = welcomeSocket.accept();
    //定义改了
    BufferedReader inFromClient = new BufferedReader(
    new InputStreamReader(connectSocket.getInputStream()));
    PrintWriter outToClient = new PrintWriter(new BufferedWriter(
    new OutputStreamWriter(connectSocket.getOutputStream())),true); sentence = inFromClient.readLine();
    seperateSentence = sentence.split(" ");
    add1 = Integer.parseInt(seperateSentence[0]);
    add2 = Integer.parseInt(seperateSentence[1]);
    sum = add1 + add2;
    outToClient.println(sum);
    }
    }
    }
    客户端代码:Socket clientSocket = new Socket("localhost", 6789);
    System.out.print("please input two numbers:");
    String temp = new String();
    //定义改了
    BufferedReader inFromUser = new BufferedReader(new InputStreamReader(
    System.in)); BufferedReader inFromServer = new BufferedReader(new InputStreamReader(
    clientSocket.getInputStream())); PrintWriter outToServer = new PrintWriter(new BufferedWriter(
    new OutputStreamWriter(clientSocket.getOutputStream())), true); temp = inFromUser.readLine(); outToServer.println(temp);
    // System.out.print("Server is calculating......"+"\n");
    // System.out.print("the summary of two numbers is: ");
    String result = inFromServer.readLine();
    System.out.print(result);
    clientSocket.close();
      

  2.   

    不好意思,粘错了。public class Socket_Client
    {
    public static void main(String[] args) throws IOException
    {
    Socket clientSocket = new Socket("localhost", 6789);
    System.out.print("please input two numbers:");
    String temp = new String();
    //定义改了
    BufferedReader inFromUser = new BufferedReader(new InputStreamReader(
    System.in)); BufferedReader inFromServer = new BufferedReader(new InputStreamReader(
    clientSocket.getInputStream())); PrintWriter outToServer = new PrintWriter(new BufferedWriter(
    new OutputStreamWriter(clientSocket.getOutputStream())), true); temp = inFromUser.readLine(); outToServer.println(temp);
    // System.out.print("Server is calculating......"+"\n");
    // System.out.print("the summary of two numbers is: ");
    String result = inFromServer.readLine();
    System.out.print(result);
    clientSocket.close();
    }
    }