2012-11-17 13 views
5

मुझे 64 बिट (विंडोज 7 परम) पर चलने पर केवल यह अजीब अपवाद मिलता है जब 32 बिट win7 परम नहीं चल रहा है। वर्तमान में जावा संस्करण 1.6.0_26जावा सर्वर 32-बिट में काम करता है, लेकिन 64-बिट में नहीं। क्यूं कर?

running server! 
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:18) 

यहाँ पर अपनी चल रहा है कोड है:

//import java.net.ServerSocket; 
//import java.net.Socket; 
import java.io.*; 
import java.net.*; 




public class Server { 


public static void main(String[] args) { 
System.out.println("running server!"); 
    int nreq = 1; 
    try{ 
    ServerSocket sock = new ServerSocket(7337); 
    for(;;){ 
    Socket newsock = sock.accept(); 
    System.out.println("Creating thread..."); 
    Thread t = new ThreadHandler(newsock, nreq); 
    t.start(); 
    nreq++; 
    } 
    } 

    catch(Exception e) 
    { 

    e.printStackTrace(); 

    } 
} 
} 

इस बिट के लिए बिंदुओं पर लाइन पर संदर्भित त्रुटि:

Socket newsock = sock.accept(); 
+0

संभव डुप्लिकेट [ "पैदा कर सकता है क्या आईओ त्रुटि java.net.SocketException: चुनें विफल "?] (http://stackoverflow.com/questions/11926655/what-can-cause-io-error-java-net-socketexception-select-failed) – assylias

+0

प्रश्न कभी संतोषजनक उत्तर नहीं दिया गया था। यह फ़ायरवॉल मुद्दा या व्यवस्थापक विशेषाधिकार समस्या नहीं थी – iForgotMyLogin

+0

मैं यहां नया हूं और अपनी शक्ति से अनजान हूं, लेकिन मुझे लगता है कि इस तथ्य को निराशा व्यक्त करना चाहिए – iForgotMyLogin

उत्तर

0

इन समस्याओं हो सकता है , जब JVM और OS के बीच कोई मेल नहीं खाता है। एक 32 बिट चल रहा है और दूसरा 64 बिट चल रहा है।

+1

सामान्य रूप से, आप 64-बिट ओएस पर चल रहे 32-बिट जेआरई के साथ किसी भी जावा प्रोग्राम को चलाने में सक्षम होना चाहिए। और सामान्य रूप से, आपको 32-बिट ओएस पर * 64-बिट जेवीएम * शुरू करने में सक्षम नहीं होना चाहिए (यह किसी भी नेटवर्किंग त्रुटि से पहले इसे मरना चाहिए)। लेकिन हाँ, मैं 64-बिट ओएस पर 64-बिट जेआरई चलाने के लिए निश्चित रूप से प्रोत्साहित करता हूं। – paulsm4

+0

@ paulsm4 इस स्पष्टीकरण के लिए धन्यवाद। –

+0

वर्तमान में यह जावा संस्करण 1.6.0_26 पर चल रहा है मैं कुछ अन्य लोगों को आजमाऊंगा – iForgotMyLogin

1

आपको निश्चित रूप से विंडोज 7 और जावा एसडीके के संस्करण के साथ कोई समस्या हो सकती है जिसे आपने इंस्टॉल किया है। ओरेकल वेबसाइट से जावा एसडीके 7 के नवीनतम संस्करण को डाउनलोड और इंस्टॉल करें। देखें कि क्या मदद करता है।

0

मैं नहीं मानता हूं कि समस्या जावा 32-बिट बनाम 64-बिट है।

समस्या

हो सकता है Windows 32-bit बनाम Windows 64-bit, तथापि:

भी:

1) इस JVM के साथ चल रहे प्रयास करें विकल्प:

  • -D java.net.preferIPv4Stack = सच

2) कृपया सुनिश्चित करें कि आप जावा के 64-बिट संस्करण इंस्टॉल किया है

की
+0

यह एक पुराना खाता था जिसके लिए मैंने पासवर्ड खो दिया था। मैंने कभी भी इसे हल करने में सक्षम नहीं देखा है (या एक ही समस्या है)। एक चीज जिसे मैंने पहले कोशिश की थी, जावा के संस्करण को अलग-अलग करने के लिए डाउनग्रेड कर रहा था। यह एक ही समस्या थी – iForgotMyLogin

संबंधित मुद्दे

 संबंधित मुद्दे