الأحبة الكرام .. السلام عليكم ورحمة الله ..
قمت بإنشاء سيرفر يستمع لأكثر من عميل .. الدالة الاساسية :
ServerSocket serverSocket = null;
try { serverSocket = new ServerSocket(5556); }
catch (IOException ex) { Logger.getLogger(MakaoServer.class.getName()).log(Level.SEVERE, null, ex); } while (true)
{
try {
Socket connection = serverSocket.accept();
PlayerConnection playerConn = new PlayerConnection(connection);
playerConn.start(); } catch (IOException ex) {
System.out.println("ERROR."); } }وفي دالة التشغيل في thread : PlayerConnection هي
public void run() {
InputStream input = null;
while (true) { try {
input = connection.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(input));
String msg = reader.readLine();
System.out.println(msg);
} catch (IOException ex) {
Logger.getLogger(PlayerConnection.class.getName()).log(Level.SEVERE, null, ex); } finally { } } }يستقبل لمرة واحدة فقط ويظهر لي الاستثناء الآتي :
java.net.SocketException: socket closed at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:150) at java.net.SocketInputStream.read(SocketInputStream.java:121) at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283) at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:325) at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:177) at java.io.InputStreamReader.read(InputStreamReader.java:184) at java.io.BufferedReader.fill(BufferedReader.java:154) at java.io.BufferedReader.readLine(BufferedReader.java:317) at java.io.BufferedReader.readLine(BufferedReader.java:382) at makaoserver.PlayerConnection.run(PlayerConnection.java:38)
هل من اقتراحات ؟
شاكر ومقدر للجميع.