在这段代码中,为什么server打印不出任何东西??import java.net.*;
import java.io.*;
public class Server{
public static void main(String[] ages){
ServerSocket ss = null;
Socket s2 = null;
try{
ss = new ServerSocket(6666);
}catch(IOException io){}
try{
s2 = ss.accept();
System.out.println("欢迎光临");
BufferedReader b2 = new BufferedReader(new InputStreamReader(s2.getInputStream()));
String s = b2.readLine();
while(!s.equals("bye")){
System.out.print(s);
}
}catch(IOException io){}
}
}import java.net.*;
import java.io.*;
public class Client{
public static void main(String[] ages) throws Exception{
Socket s1 = new Socket("127.0.0.1",6666);
BufferedReader b1 = new BufferedReader(new InputStreamReader(System.in));
String s = b1.readLine();
}
}
import java.io.*;
public class Server{
public static void main(String[] ages){
ServerSocket ss = null;
Socket s2 = null;
try{
ss = new ServerSocket(6666);
}catch(IOException io){}
try{
s2 = ss.accept();
System.out.println("欢迎光临");
BufferedReader b2 = new BufferedReader(new InputStreamReader(s2.getInputStream()));
String s = b2.readLine();
while(!s.equals("bye")){
System.out.print(s);
}
}catch(IOException io){}
}
}import java.net.*;
import java.io.*;
public class Client{
public static void main(String[] ages) throws Exception{
Socket s1 = new Socket("127.0.0.1",6666);
BufferedReader b1 = new BufferedReader(new InputStreamReader(System.in));
String s = b1.readLine();
}
}
应该在一个死循环内 保持一直监听client
你根本没有发数据到server....
所以s2 = ss.accept(); 没有执行
import java.net.*;public class SocketServer { public static void main(String[] args) {
ServerSocket ss = null;
Socket s = null;
try {
ss = new ServerSocket(1234);
s = ss.accept(); BufferedReader br = new BufferedReader(new InputStreamReader(s
.getInputStream()));
String line; while (true) {
line = br.readLine();
if (line != null){
System.out.println(line);
if(line.equalsIgnoreCase("bye"))
break;
}
else
break;
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
s.close();
ss.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}}SocketClientimport java.io.*;
import java.net.*;public class SocketClient { public static void main(String[] args) {
Socket s = null;
try {
s = new Socket("localhost",1234);
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
BufferedReader b1 = new BufferedReader(new InputStreamReader(System.in));
String line = null;
while(true){
line = b1.readLine();
if(line != null){
bw.write(line + "\r\n");
bw.flush();
if(line.equalsIgnoreCase("bye"))
break;
}else
break;
} } catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
s.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
try {
ss = new ServerSocket(8988);
cs = ss.accept();
} catch (IOException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
最好还是用 线程 别用死循环先