我想从键盘读取字符串发送给服务器端,然后做个简单的处理(反序排列),然后回传给客户端,但是客户端这边却一直得不到回传的数据,请高手指点下,是哪里写错了. //服务器端
import java.net.Socket;
import java.net.ServerSocket;
import java.io.OutputStream;
import java.io.InputStream;
import java.io.BufferedWriter;
import java.io.BufferedReader;
import java.io.OutputStreamWriter;
import java.io.InputStreamReader; class Servicer implements Runnable
{
Socket s;
public Servicer(Socket s)
{
this.s=s;
}
public void run()
{
try
{
OutputStream os=s.getOutputStream();
OutputStreamWriter osw=new OutputStreamWriter(os);
BufferedWriter bw=new BufferedWriter(osw); InputStream is=s.getInputStream();
InputStreamReader isr=new InputStreamReader(is);
BufferedReader br=new BufferedReader(isr);
while(true)
{
String str=br.readLine();
if(str.equalsIgnoreCase("quit"))
{
break;
}
bw.write(str+"---->");
str=new StringBuffer(str).reverse().toString();
bw.write(str); bw.close();
br.close();
s.close();
}
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
}
}
class Test
{
public static void main(String []args) throws Exception
{
ServerSocket ss=new ServerSocket(8001);
while(true)
{
Socket s=ss.accept();
new Thread(new Servicer(s)).start();
}
}
}
//客户端
import java.net.Socket;
import java.net.ServerSocket;
import java.io.OutputStream;
import java.io.InputStream;
import java.io.BufferedWriter;
import java.io.BufferedReader;
import java.io.OutputStreamWriter;
import java.io.InputStreamReader;
import java.net.InetAddress; class ClientTest
{
public static void main(String []args) throws Exception
{
if(args.length <2)
{
System.out.println("请输入服务器IP地址和端口");
}
Socket s=new Socket(args[0],Integer.parseInt(args[1]));
OutputStream os=s.getOutputStream();
OutputStreamWriter osw=new OutputStreamWriter(os);
BufferedWriter bw=new BufferedWriter(osw); InputStream is=s.getInputStream();
InputStreamReader isr=new InputStreamReader(is);
BufferedReader br=new BufferedReader(isr);
InputStreamReader isr1=new InputStreamReader(System.in);
BufferedReader br1=new BufferedReader(isr1);
while(true)
{
String str=br1.readLine();//从键盘读取字符串
if(str.equalsIgnoreCase("quit"))
{
break;
}
bw.write(str);
System.out.println(br.readLine());
}
bw.close();
br.close();
br1.close();
s.close();
}
}
import java.net.Socket;
import java.net.ServerSocket;
import java.io.OutputStream;
import java.io.InputStream;
import java.io.BufferedWriter;
import java.io.BufferedReader;
import java.io.OutputStreamWriter;
import java.io.InputStreamReader; class Servicer implements Runnable
{
Socket s;
public Servicer(Socket s)
{
this.s=s;
}
public void run()
{
try
{
OutputStream os=s.getOutputStream();
OutputStreamWriter osw=new OutputStreamWriter(os);
BufferedWriter bw=new BufferedWriter(osw); InputStream is=s.getInputStream();
InputStreamReader isr=new InputStreamReader(is);
BufferedReader br=new BufferedReader(isr);
while(true)
{
String str=br.readLine();
if(str.equalsIgnoreCase("quit"))
{
break;
}
bw.write(str+"---->");
str=new StringBuffer(str).reverse().toString();
bw.write(str); bw.close();
br.close();
s.close();
}
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
}
}
class Test
{
public static void main(String []args) throws Exception
{
ServerSocket ss=new ServerSocket(8001);
while(true)
{
Socket s=ss.accept();
new Thread(new Servicer(s)).start();
}
}
}
//客户端
import java.net.Socket;
import java.net.ServerSocket;
import java.io.OutputStream;
import java.io.InputStream;
import java.io.BufferedWriter;
import java.io.BufferedReader;
import java.io.OutputStreamWriter;
import java.io.InputStreamReader;
import java.net.InetAddress; class ClientTest
{
public static void main(String []args) throws Exception
{
if(args.length <2)
{
System.out.println("请输入服务器IP地址和端口");
}
Socket s=new Socket(args[0],Integer.parseInt(args[1]));
OutputStream os=s.getOutputStream();
OutputStreamWriter osw=new OutputStreamWriter(os);
BufferedWriter bw=new BufferedWriter(osw); InputStream is=s.getInputStream();
InputStreamReader isr=new InputStreamReader(is);
BufferedReader br=new BufferedReader(isr);
InputStreamReader isr1=new InputStreamReader(System.in);
BufferedReader br1=new BufferedReader(isr1);
while(true)
{
String str=br1.readLine();//从键盘读取字符串
if(str.equalsIgnoreCase("quit"))
{
break;
}
bw.write(str);
System.out.println(br.readLine());
}
bw.close();
br.close();
br1.close();
s.close();
}
}
import java.net.ServerSocket;
import java.io.*;public class Servicer implements Runnable
{
Socket s;
public Servicer(Socket s)
{
this.s = s;
}
public void run()
{
BufferedWriter bw = null;
BufferedReader br = null;
try
{
bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
br = new BufferedReader(new InputStreamReader(s.getInputStream()));
while (true)
{
String str = br.readLine();
if (str.equalsIgnoreCase("quit"))
{
break;
}
bw.write(str + "---->");
str = new StringBuffer(str).reverse().toString();
bw.write(str);
bw.newLine();
bw.flush();
}
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
finally
{
try
{
if(bw != null)
{
bw.close();
}
if(br != null)
{
br.close();
}
if(bw != null)
{
s.close();
}
}
catch(IOException e1)
{
}
}
}
public static void main(String[] args) throws Exception
{
ServerSocket ss = new ServerSocket(8001);
while (true)
{
Socket s = ss.accept();
new Thread(new Servicer(s)).start();
}
}
}
客户端:import java.net.Socket;
import java.io.BufferedWriter;
import java.io.BufferedReader;
import java.io.OutputStreamWriter;
import java.io.InputStreamReader;public class ClientTest
{
public static void main(String[] args) throws Exception
{
if (args.length < 2)
{
System.out.println("请输入服务器IP地址和端口");
return;
}
Socket s = new Socket(args[0], Integer.parseInt(args[1]));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
BufferedReader br1 = new BufferedReader(new InputStreamReader(System.in));
while (true)
{
String str = br1.readLine();// 从键盘读取字符串
bw.write(str);
bw.newLine();
bw.flush();
if (str.equalsIgnoreCase("quit"))
{
break;
}
System.out.println(br.readLine());
}
bw.close();
br.close();
br1.close();
s.close();
}
}