就是你的程序啦,你用java -version看看你的版本 //Server端 import java.io.*; import java.net.*; import java.util.*;public class IOtestSvr { public static void main(String[] args) { boolean on = true; try { ServerSocket svrSocket = new ServerSocket(8000); while (on) { System.out.println("begin"); Socket socket = svrSocket.accept(); DataInputStream in = new DataInputStream(socket.getInputStream()); byte[] bTest = new byte[1024]; int i = in.read(bTest); String str = new String(bTest); int len = str.length();
System.out.println(str); System.out.println(i); System.out.println(len); } } catch (Exception e) { e.printStackTrace(); } } } //Client import java.io.*; import java.net.*; import java.util.*; public class IOtestCli { public static void main(String[] args) { System.out.println("Hello World!"); try { Socket socket = new Socket("127.0.0.1",8000); DataOutputStream out = new DataOutputStream(socket.getOutputStream()); //out.writeChars("String 1 "+'\n'+'\r'); //out.flush(); //out.writeChars("a test "); //out.writeChar('a'); //out.writeChars(" Sting 2"); out.flush(); out.close(); socket.close(); } catch (Exception e) { System.out.println("Err"); e.printStackTrace(); } } }
要强制检查消息队列的说
是设置成了auto flush,还是在代码中写了条flush()?
我想知道你的path路径有没有改为1.3.1的
//Server端
import java.io.*;
import java.net.*;
import java.util.*;public class IOtestSvr {
public static void main(String[] args)
{
boolean on = true;
try
{ ServerSocket svrSocket = new ServerSocket(8000);
while (on) {
System.out.println("begin");
Socket socket = svrSocket.accept();
DataInputStream in = new DataInputStream(socket.getInputStream());
byte[] bTest = new byte[1024];
int i = in.read(bTest);
String str = new String(bTest);
int len = str.length();
System.out.println(str);
System.out.println(i);
System.out.println(len);
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
//Client
import java.io.*;
import java.net.*;
import java.util.*;
public class IOtestCli {
public static void main(String[] args)
{
System.out.println("Hello World!");
try {
Socket socket = new Socket("127.0.0.1",8000);
DataOutputStream out = new DataOutputStream(socket.getOutputStream());
//out.writeChars("String 1 "+'\n'+'\r');
//out.flush();
//out.writeChars("a test ");
//out.writeChar('a');
//out.writeChars(" Sting 2");
out.flush();
out.close(); socket.close();
}
catch (Exception e) {
System.out.println("Err");
e.printStackTrace();
}
}
}
对,输出端不输出任何东西当然是-1,但如果输出端输出了东西,接收端就无法正常接收了……你试试输出端输出任意一个字符串,然后在接收端接收……我现在用的是14的JDK了
String 1
a test a String 254
1024
begin1
1024
begin555,你的机器什么配置啊?