这是我的代码
客户端:import javax.swing.*;
import java.awt.*;
import java.lang.*;
import java.net.*;
import java.util.*;
import java.io.*;
public class client implements Runnable{
    
    BufferedReader in;
    PrintWriter out;
    ObjectInputStream fromclient;
    Socket toserver;
    
    
    Thread th=new Thread(this);
public client(){

th.start();
}

public static void main(String args[]){
   new client();
} String s=new String();
public void run(){

try{

InetAddress addr=InetAddress.getLocalHost();
Socket toserver=new Socket(addr,8000);

BufferedReader in=new BufferedReader(new InputStreamReader(toserver.getInputStream()));
PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(toserver.getOutputStream())));
//ObjectInputStream fromclient=new ObjectInputStream(toserver.getInputStream());
    out.write("receved");
    
//fromclient.readObject(cust);
//System.out.println();
   }
catch(Exception e2){
System.out.println(e2);
}


}}
服务器端:
import javax.swing.*;
import java.awt.*;
import java.io.*;
import java.lang.*;
import java.net.*;
import java.awt.event.*;
 public class server extends Thread{
 
 
  ServerSocket serversocket;
  Socket socket;
  public server(){
 
  Thread serth=new Thread(this);
 
  this.start();
  }
 
 
  public static void fail(Exception e,String str){
 
  System.out.println(str+"."+e);
  }
  public void run(){
  try{
  ServerSocket serversocket=new ServerSocket(8000);
  while(true){
 
    Socket socket=serversocket.accept();
    System.out.println("server started.......");
  connection con=new connection(socket);
  }
  }
  catch(Exception e1){
 
  fail(e1,"not listenning");
  }
 
 
 }
  public static void main(String args[]){
 
 
  server s=new server();
 
  System.out.println("i am server..");
  }
  }
 class connection  extends Thread{
 
  protected  Socket netclient;
  protected  BufferedReader fromclient;
  protected  PrintStream toclient;
 
  public static void fail(Exception e,String str){
 
  System.out.println(str+"."+e);
  }
 
 
 
    public connection(Socket socket){
    
    Thread t=new Thread(this);
 
  netclient=socket;
 
  t.start();
 
 
  }
  public  void run(){
    try{
  fromclient=new BufferedReader(new InputStreamReader(netclient.getInputStream()));
  toclient=new PrintStream(netclient.getOutputStream());
 
      String b="you shen me shi qing ma?";
  toclient.println("recieved from:"+b);
      
        String s=fromclient.readLine();
     System.out.println(s);
  }
 
  catch(Exception e3){
   System.out.println(e3);
 
  }
 
  finally{
  try{
  netclient.close();
     }
  catch(IOException e){}
  } 
  }
  }
 
 
 
 
编译可以通过,但服务器端的控制台要报错为:java SocketException connection reset
 
 
 
 
 
    

解决方案 »

  1.   

    out.write("receved");改成out.println("received");试一下
      

  2.   

    out.println();
    和对应
    out.readLine();
      

  3.   

    给你俩个程序你看一吧
    import java.io.*;//服务端
    import java.net.*;
    import java.lang.*;
    import java.util.*;
    public class server2{
    public static void main(String args[]){
    String h;
    try{
    ServerSocket client=new ServerSocket(4001);
    while(true){
    Socket socket1=client.accept();
    BufferedReader str=new BufferedReader(new InputStreamReader(socket1.getInputStream()));
    PrintStream p=new PrintStream(new FileOutputStream("fddjx444.java"));
    PrintWriter p1=new PrintWriter(socket1.getOutputStream());
    while((h=str.readLine())!=null){
    p.println(h);
    p.flush();
    client.close();
    }
    }
    }
    catch(IOException e){
    System.out.println(e);
    }
    }
    }
    //客服端
    import java.io.*;
    import java.net.*;
    import java.lang.*;
    import java.util.*;
    public class socket2{
    public socket2(){
    String string1;
    byte buf[]=new byte[2056];
    try{
    Socket client2=new Socket("localhost",4001);
    File f=new File("fddjxllren3.java");
    FileInputStream f1=new FileInputStream(f);
    int s=f1.read(buf,0,2056);
    string1=new String(buf,0,s);
    PrintStream p2=new PrintStream(client2.getOutputStream());
    p2.println(string1);
    client2.close();
    }
    catch(Exception e){
    System.out.println(e);
    }
    }
    public static void main(String args[]){
    new socket2();
    }
    }