package test;import java.net.*;
import java.io.*;public class TCPServer { public static void main(String[] args) throws Exception {
ServerSocket ss = new ServerSocket(6666);
Socket s = ss.accept();
System.out.println("a client connect!");
}
}
这是服务器的
package test;import java.io.*;
import java.net.*;public class TCPClient {
public static void main(String[] args) throws Exception {
Socket s = new Socket("127.0.0.1",6666);
}
}
这是客户端的
为什么运行出先
run:
Exception in thread "main" java.net.SocketException: select failed
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:408)
at java.net.ServerSocket.implAccept(ServerSocket.java:462)
at java.net.ServerSocket.accept(ServerSocket.java:430)
at test.TCPServer.main(TCPServer.java:10)
Java Result: 1
成功生成(总时间:3 秒)用的是netbeanIDE工具写的
import java.io.*;public class TCPServer { public static void main(String[] args) throws Exception {
ServerSocket ss = new ServerSocket(6666);
Socket s = ss.accept();
System.out.println("a client connect!");
}
}
这是服务器的
package test;import java.io.*;
import java.net.*;public class TCPClient {
public static void main(String[] args) throws Exception {
Socket s = new Socket("127.0.0.1",6666);
}
}
这是客户端的
为什么运行出先
run:
Exception in thread "main" java.net.SocketException: select failed
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:408)
at java.net.ServerSocket.implAccept(ServerSocket.java:462)
at java.net.ServerSocket.accept(ServerSocket.java:430)
at test.TCPServer.main(TCPServer.java:10)
Java Result: 1
成功生成(总时间:3 秒)用的是netbeanIDE工具写的
卸载IPv6就好了。
在本地连接的“属性”中卸载。
private native void socketAccept(SocketImpl s)恩 我很想帮你 但是本地方法java好像根本就不开放源码 所以我也不知道里面到底是怎么写的了
然后启动client、
看了lz的程序、应该没问题呀、、
没问题、
是不是你ip写错了?
/**Server*/
package test;import java.net.*;
import java.io.*;public class TCPServer {
public static void main(String[] args) throws Exception {
ServerSocket ss = new ServerSocket(6666);
Socket s = ss.accept();
System.out.println("a client connect!");
}
}
/**Client*/
package test;import java.net.*;
import java.io.*;public class TCPClient {
public static void main(String[] args) {
try {
Socket s = new Socket("127.0.0.1", 6666);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
代码在Win7下测试通过,未出现问题。我的代码仅仅是比楼主多了错误处理而已。在DOS下运行时,现运行服务器端,命令:java test.TCPServer 然后运行客户端: java test.TCPClient 运行后,服务器端显示“a client connect”.请楼主添加捕获错误的代码,再测试下。
希望能够帮到楼主.
但是我装了个虚拟机xp系统的.将代码那去测试.正常输出.
但是拿来win7测试.又不行的.我觉得是ipv6的问题.但是不能卸载,不打扣也不能运行!!郁闷!
是不是我的系统问题呢?
应该没有关系吧
public static void main(String[] args) throws Exception {
ServerSocket ss = new ServerSocket(6666);
Socket s = ss.accept();
System.out.println("a client connect!");
}
}
/**Client*/
package test;import java.net.*;
import java.io.*;public class TCPClient {
public static void main(String[] args) {
try {
Socket s = new Socket("127.0.0.1", 6666);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}