How To: Open Client Socket in Java With Timeout كيف ل: فتح المقبس العملاء في يافا مع الزمن
Often we need to create a (client) socket connection in java but we do not want to wait indefinitely for the connection to open. وكثيرا ما نحن بحاجة الى ايجاد (الزبون) في يافا المقبس الصدد ولكننا لا نريد ان ننتظر الى اجل غير مسمى لفتح الاتصال. We need a way to timeout socket connections. نحن بحاجة الى وسيلة لفترة الاستراحه وصلات المقبس. Two solutions and recommended code. واوصى حلين المدونه.
Previously the only way was to create the socket in a Thread. في السابق كان السبيل الوحيد لخلق المقبس في الخيط. And then kill the thread if it is running beyond a threshold time limit. وبعد ذلك قتل الخيط اذا كان يركض فوق عتبة الحد الزمني. This had two problems. هذا قد مشكلتين. First Thread.kill or Thread.suspend are deprecated methods and with good reason. الاولى هي thread.kill او thread.suspend مستنكر واساليب لسبب وجيه. Their availability cannot be ensured in future versions of Java. توافرها لا يمكن ضمانه في الاصدارات المستقبليه من جاوة. Secondly the process was clumsy to say the least. ثانيا العملية أخرق على اقل تقدير. Now we have a better method since JDK 1.4. ويتعين علينا الان ان افضل طريقة منذ 1،4 وهم ج.
java.net.Socket supports timeout from JDK1.4 onwards. java.net.socket تؤيد الخروج من jdk1.4 فصاعدا. The following is a sample code to enable socket timeout in Java. فيما يلي عينة القانون لتمكين المقبس فترة الاستراحه في يافا. In this sample 500 milliseconds is chosen as timeout value. 500 في الالف من هذه العينه التي اختيرت هي قيمة الزمن.
// Open a socket without any parameters. / / فتح المقبس دون اي معالم. It hasn’t been binded or connected ولم binded او متصله
Socket sock = new Socket(); المقبس المقبس الجورب الجديد = () ؛
// Bind to a local ephemeral port / / المحلية لتربط بين ميناء سريع الزوال
sock.bind(null); sock.bind (لاغيه) ؛
// Connect to google.com on port 80 with a timeout of 500 milliseconds / / لربط ميناء google.com على الخروج مع 80 من 500 من الالف
sock.connect(new InetSocketAddress(”www.google.com”, 80), 500 ); sock.connect (جديد inetsocketaddress ( "www.google.com" ، 80) ، 500) ؛
// Your code goes here / / الشفره الخاصة بك هنا وغني
// Close the socket. / / وثيقة المقبس.
sock.close(); sock.close () ؛
Filed under المقدم بمقتضى Headline News أهم الانباء , ، How To كيف , ، Java Software برنامج جافا , ، Tech Note ملاحظه تقنيه | |
| |
RSS 2.0 ار اس اس 2،0 | |
Trackback this Article | هذه المادة |
Email this Article ارسل هذه المادة
You may also like to read ويمكنك ايضا ان تقرأ |




