import java.io.*;
import java.net.*;
public class TestServer { public static void main(String[] args) {

try {
ServerSocket ss = new ServerSocket(6666);
while(true){
//获得监听
Socket s1 = ss.accept();

InputStream is = s1.getInputStream();
DataInputStream dis = new DataInputStream (is);

OutputStream os = s1.getOutputStream();
DataOutputStream dos = new DataOutputStream(os);

//得到Client的输入
System.out.println(dis.readUTF());
String in = dis.readUTF();
String out = in.toUpperCase();

//输出内容
dos.writeUTF(out);
dos.flush();

dos.close();
os.close();
dis.close();
is.close();
s1.close();




}
} catch (IOException e) {

e.printStackTrace();
}

}}
import java.io.*;
import java.net.*;public class TestClient { public static void main(String[] args) {
try
{
Socket s = new Socket("192.168.1.100",6666);

//标准输入流,通过键盘输入
System.out.println("请输入...");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line = br.readLine();

//输出内容
OutputStream os = s.getOutputStream();
DataOutputStream ds = new DataOutputStream(os);
ds.writeUTF(line);
ds.flush();

//获得Server的内容
InputStream is = s.getInputStream();
DataInputStream bis = new DataInputStream(is);

System.out.println(bis.readUTF());



bis.close();
is.close();
ds.close();
os.close();
br.close();
s.close();

}catch(IOException e){

e.printStackTrace();

}

}}
为什么Server可以收到Client的,而进行转换之后却不能返回,client收不到server的??

解决方案 »

  1.   

    答:将服务器方的代码:
    //得到Client的输入
                    System.out.println(dis.readUTF());
                    String in = dis.readUTF();
                    String out = in.toUpperCase();改成://得到Client的输入
                                    String in = dis.readUTF();
    System.out.println(in);                String out = in.toUpperCase();