से डेटा प्राप्त नहीं किया गया है, मैं एक क्लाइंट एप्लिकेशन लिख रहा हूं जो टीसीपी/आईपी के माध्यम से डेटा का निरंतर प्रवाह प्राप्त करेगा। मेरी समस्या यह है कि buffered पाठक ऑब्जेक्ट को कोई डेटा प्राप्त नहीं हो रहा है और रीडलाइन विधि पर लटक रहा है।पाठक को सॉकेट
सर्वर जिस तरह से काम करता है वह यह है कि आप उससे कनेक्ट होते हैं, और फिर डेटा प्राप्त करने के लिए प्रमाणीकरण जानकारी भेजते हैं। मेरे कोड का सार
नीचेsocket = new Socket(strHost, port);
authenticate();
inStream = new BufferedReader(new InputStreamReader(socket.getInputStream()));
process(inStream);
authenticate()
{
PrintWriter pwriter = new PrintWriter(socket.getOutputStream(), true);
pwriter.println(authString);
}
process(BufferedReader bufferedReader)
{
while((line = bufferedReader.readLine()) != null)
dostuff
}
मैं एक नमूना सर्वर अनुप्रयोग डेटा रास्ता (मुझे लगता है कि) सर्वर डेटा भेज रहा है और यह जोड़ता है भेजता है, और प्राप्त करता है और डेटा ठीक प्रक्रियाओं बनाई गई है। मैं अपने आवेदन में सर्वर से जुड़ा हूं। मैं सर्वर से टेलनेट भी कर सकता हूं और प्रमाणीकरण स्ट्रिंग लिख सकता हूं और टेलनेट का उपयोग कर डेटा की बाढ़ प्राप्त कर सकता हूं। हालांकि मेरा एप्लिकेशन बस सर्वर के साथ रीडलाइन पर लटकता है और मैं विचार से बाहर हूं।
data;data;data;data;data
data;data;data;data;data
क्यों मेरे ऐप ReadLine में व्यतीत कर रहा है, मैं सही ढंग से प्रमाणीकरण लाइन outputting नहीं कर रहा हूँ:
डेटा (टेलनेट कम से कम के माध्यम से) में आने वाले निम्न में से एक सतत स्ट्रीम की तरह दिखता है? मैं किसी भी त्रुटि मेरे नमूना सर्वर कोड (जो सही ढंग से काम कर रहा है) प्राप्त नहीं हो रहा ...
संपादित करें ... फिर से इस एक ही रास्ता नकल उतार रहा है मुझे लगता है कि वास्तविक सर्वर चल रहा है लेकिन मैं अपने आवेदन में दोनों से कनेक्ट कर सकता हूं बस वास्तविक सर्वर से डेटा प्राप्त नहीं करता हूं।
public static void main(String[] args) throws IOException
{
ServerSocket serverSocket = null;
try
{
serverSocket = new ServerSocket(1987);
}
catch (IOException e)
{
System.out.println("Couldn't listen on port: 1987");
System.exit(-1);
}
Socket clientSocket = null;
try
{
clientSocket = serverSocket.accept();
}
catch (IOException e) {
System.out.println("Accept failed: 1987");
System.exit(-1);
}
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
String something;
while ((something = in.readLine()) != null)
{
while(true)
{
out.println(message);
}
}
out.close();
in.close();
clientSocket.close();
serverSocket.close();
}
आप हमें सर्वर समस्या से संबंधित कोड दिखा सकते हैं मुझे सॉकेट के साथ के साथ इस काम करता है? – Coeffect
'मैं अपने आवेदन में सर्वर से जुड़ा जुड़ा हूं।' आपका मतलब है कि आपका डमी नमूना सर्वर? – leonbloy
हो सकता है कि आपके पास अपना डेटा पढ़ने के लिए एक और धागा तैयार हो, __fore_ आप प्रमाणीकरण भेजते हैं? मुझे लगता है कि जैसे ही यह पासवर्ड प्राप्त होता है, सर्वर बस बाढ़ डेटा शुरू करता है। – toto2