JavaÍøÂç±à³Ì³õ²½
JavaÍøÂç±à³Ì³õ²½
Kagula
2009-11-23
¹Ø¼ü´Ê
Java Socket DataInputStream DataOutputStream
¸ÅÒª
ʹÓÃJavaͬ²½IOÓ¦ÓóÌÐò¿â£¬ÊµÏÖCS½á¹¹ÍøÂç±à³Ì¡£
ÕýÎÄ
ʹÓÃSocketÀ´½¨Á¢ÍøÂçÁ¬½Ó£¬Ê¹ÓÃDataInputStream¡¢DataOutputStreamÀ´´æÈ¡ÍøÂçÁ÷¡£
¿Í»§¶Ë²¿·Ý
µÚÒ»²½£º½¨Á¢ÍøÂçÁ¬½Ó¶ÔÏ󣬺ÍÍøÂçÁ÷ÊäÈëÊä³ö¶ÔÏó
Socket c = new Socket(InetAddress.getByName("192.168.0.144"),6009);
dis = new DataInputStream(c.getInputStream());
dos = new DataOutputStream(c.getOutputStream());
µÚ¶þ²½£º¶ÁÐ´ÍøÂçÁ÷
д×Ö·û´®ÓÃÏÂÃæµÄ´úÂë
dos.writeUTF(list.get(i).toString());
dos.flush();
д¶þ½øÖÆÊý¾Ý²ÉÓÃÏÂÃæµÄ´úÂë
//byte[] b = new byte[nnL];
dos.write(b,0,nnL);
dos.flush();
ÕâÀïҪעÒâµÄÊÇwriteº¯ÊýµÄµÚ¶þ¸ö²ÎÊý£¬Ö¸µÄÊÇ»º´æÇøÆðʼλÖã¬nnLÖ¸µÄÊÇ»º´æÇøÖÐÊý¾ÝµÄ³¤¶È¡£b»º´æµÄ´óС½¨ÒéΪ1KB£¬¹ý´ó»áµ¼Ö²¿·ÝÊý¾Ý·¢ËͳöÈ¥ÁË£¬µ«ÊǽÓÊÕµ½Ã»ÓÐÊÕµ½ÓÐЧµÄÊý¾Ý¡£
¶Á×Ö·û´®ÓÃÏÂÃæµÄ´úÂë
String sR = dis.readUTF();
¶Á¶þ½øÖÆÊý¾ÝÓÃÏÂÃæµÄ´úÂë
Dis.read(b,0,nnL);
ÕâÀïÐèҪעÒ⣬·¢ËͶËͬ½ÓÊÕ¶ËÖ®¼ä£¬ÍøÂçÁ÷´æÈ¡º¯ÊýҪƥÅ䣬Êý¾Ý³¤¶ÈҲҪƥÅ䣬·ñÔò»á×èÈû¡£
µÚÈý²½£º¹Ø±ÕÁ¬½Ó¡£´úÂëÈçÏÂ
Dis.close();
Dos.close();
C.close();
·þÎñ¶Ë²¿·Ý
µÚÒ»²½£º½¨Á¢ServerSocket¶ÔÏ󣬵õ½¿Í»§¶ËµÄÁ¬½ÓÇëÇ󣬴úÂëÈçÏ£º
ServerSocket server = new ServerSocket(listenPort);
Socket incomingConnection = null;
while(true) {
incomingConnection = server.accept();
incomingConnection.setSoTimeout(9*60*1000);
handleConnection(incomingConnection);
}
ÆäÖУ¬listenPortÊÇÕìÌý¶Ë¿ÚΪÕûÐÍ¡£¿Í»§Í¬·¢ËÍÇëÇóºó£¬·þÎñ¶ËºÍ¿Í»§¶Ë½¨Á¢Á¬½Ó£¬server.accept·µ»Øsocket¡£
ÀûÓÃsocket£¬µÃµ½¶ÁÐ´ÍøÂçÁ÷Êý¾ÝµÄ¶ÔÏ󣬯äËüͬ¿Í»§¶ËµÄ±à³Ì·½Ê½¡£ÔÚÍê³É¶ÁдºóÄãÒ²ÐèÒªµ÷ÓÃsocketʵÀýµÄcloseº¯Êý£¬¶Ï¿ªÍ¬¿Í»§¶ËµÄÁ¬½Ó¡£SocketʵÀýµÄsetSoTimeoutÉèÖ㬱£Ö¤ÔÚ¾ÅÃëºó×Ô¶¯¹Ø±Õͬ¿Í»§¶ËµÄÁ¬½Ó¡£
×ܽ᣺
Ïà±ÈC++£¬JavaÌṩµÄAPI·Ç³£ÈÝÒ×ʹÓᣵ«ÊÇҲҪעÒ⼸¸öÎÊÌâ¡£[1]·þÎñ¶ËºÍ¿Í»§¶ËµÄ¶Áдº¯Êý±ØÐëҪƥÅä¡£[2]·þÎñ¶Ëͬ¿Í»§¶ËÖ®¼ä¶
Ïà¹ØÎĵµ£º
ÕâÊÇÒ»¸öʵսÖзdz£ÖØÒªµ«ÊÇÈÝÒ×±»ºöÊӵĸÅÄ˵ËüÖØÒª£¬ÊÇÒòΪËü±ÈDatcbaseÖØÒª£»ËµËüÈÝÒ×±»ºöÊÓÒ²ÊÇͬÑùµÄÔÒò£¬Ëü¾³£±»Datcbase¸ÅÄîÌæ´ú¡£
¡¡¡¡Èç¹ûÄã¾ÑéºÍ¾ÀúÖÐûÓÐ״̬Õâ¸ö¸ÅÄ¼«¶ËµØËµ£º¿ÉÄÜÄãµÄjava±à³Ì±à³ÌSys¾Ñ黹δ»ýÀÛµ½Ò»¶¨³Ì¶È£¬×´Ì¬ÊÇÿ¸öjava±à³Ì±à³Ì³ÌʽԱÉîÈëjava±à³Ì±à³ÌSysºó±ØÈ»Åöµ½µÄÎÊÌâ¡£
......
£¨1£©¸ù¾ÝxmlÎļþÀ´¹ÜÀíÏ̳߳صÄ×î´ó×îСÏß³ÌÊý
¡¡¡¡£¨2£©¶ÔÏ̳߳ØÍ¨¹ýTimer¶¨ÆÚɨÃèÒÔ·ÀÖ¹Ïß³Ìδ¼¤»î£»
¡¡¡¡£¨3£©Í¨¹ýijһ¸ö±äÁ¿£¨±¾³ÌÐòÖÐÊÇfreeThreadCount£©À´µÃµ½¿ÕÏÐÏ̵߳ÄÊýÄ¿£»
¡¡¡¡Ò»¡¢ÅäÖÃxml£¨listen.xml£©ÊÇ£º
¡¡¡¡<?xml version="1.0" encoding="UTF-8"?>
¡¡¡¡ <config>
¡¡¡¡ <Con ......
1 String ºÍStringBufferµÄÇø±ð
JAVAƽ̨ÌṩÁËÁ½¸öÀࣺStringºÍStringBuffer£¬ËüÃÇ¿ÉÒÔ´¢´æºÍ²Ù×÷×Ö·û´®£¬¼´°üº¬¶à¸ö×Ö·ûµÄ×Ö·ûÊý¾Ý¡£StringÀàÌṩµÄÊýÖµ²»¿É¸Ä±äµÄ×Ö·û´®¡£StringBufferÀàÌṩµÄ×Ö·û´®½øÐÐÐ޸ġ£µ±ÖªµÀ×Ö·ûÊý¾ÝÒª¸Ä±äµÄʱºòÄã¾Í¿ÉÒÔʹÓÃStringBuffer£¬¿ÉÒÔʹÓÃStri ......
Èý¸öѧÉúµ½Ò»¸öË®ÁúÍ·ÏÂÅŶÓȡˮ£¬ÈýÈ˶¼È¡ÍêË®ºóÒ»ÆðÀ뿪¡£
ÕâÀïÉæ¼°µ½ÈçºÎÅжÏÈý¸öÈ˶¼È¡ÍêË®¡£Èç¹ûÓÃÆÕͨµÄ¾²Ì¬³ÉÔ±£¬ÊƱػáÒªÓÃÎÞÏÞÑ»·À´µÈ´ý¡£¸üºÃµÄ°ì·¨ÊÇÓà wait-notify »úÖÆ¡£Ç°Á½¸öѧÉúÈ¡ÍêË®ºó¶¼ wait£¬×îºóÒ»¸öѧÉúÈ¡ÍêË®ºó notify£¬ÕâÑù¾ÍÄÜÒ»ÆðÀ뿪ÁË¡£ÏÂÃæÊÇ´úÂëʾÀý£º
/**
* Èý¸öѧÉúÅŶÓȡˮ£¬È¡ÍêºóÒ ......