[問題] server的問題
我寫了一個簡單的server clinet做測試'
一開始執行server時一切正常
然後開client去連結
連結到的同時server出現以下的錯誤訊息:
Exception in thread "main" java.net.SocketException: select failed
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.PlainSocketImpl.accept(Unknown Source)
at java.net.ServerSocket.implAccept(Unknown Source)
at java.net.ServerSocket.accept(Unknown Source)
at server.main(server.java:12)
不知道要如何解決
(我用的做業系統是vista 之前用XP時可以 換vista就變這樣了
不知道跟這個有沒有關係)
server的程式碼:
import java.net.*;
import java.io.*;
public class server {
public static void main(String[] args) throws Exception {
ServerSocket serverSocket = new ServerSocket(4444);
// repeatedly wait for connections, and process
while (true) {
// a "blocking" call which waits until a connection is requested
Socket clientSocket = serverSocket.accept();
System.out.println("Accepted connection from client");
BufferedReader br = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(),true);
out.close();
br.close();
clientSocket.close();
}
}
}
client程式碼:
import java.net.Socket;
import java.net.UnknownHostException;
import java.io.*;
public class client {
public static void main(String[] args) throws UnknownHostException, IOException {
// connect to server and open up IO streams
Socket socket = new Socket("localhost",4444);
BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
BufferedReader in= new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream(),true);
System.err.println("Connected " );
// 從標準輸入讀入一行, 送到Server, 再將Server傳回的印出來
String s;
while ((s = stdin.readLine()) != null) {
System.out.println(s);
System.out.println(in.readLine());
}
// close IO streams, then socket
System.err.println("Closing connection");
out.close();
in.close();
socket.close();
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.114.212.60
推
05/24 12:16, , 1F
05/24 12:16, 1F