我想从键盘读取字符串发送给服务器端,然后做个简单的处理(反序排列),然后回传给客户端,但是客户端这边却一直得不到回传的数据,请高手指点下,是哪里写错了.//服务器端
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();
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货