Ò»£¬ÍøÂç±à³ÌÖÐÁ½¸öÖ÷ÒªµÄÎÊÌâ
Ò»¸öÊÇÈçºÎ׼ȷµÄ¶¨Î»ÍøÂçÉÏһ̨»ò¶ą̀Ö÷»ú£¬ÁíÒ»¸ö¾ÍÊÇÕÒµ½Ö÷»úºóÈçºÎ¿É¿¿¸ßЧµÄ½øÐÐÊý¾Ý´«Êä¡£
ÔÚTCP/IPÐÒéÖÐIP²ãÖ÷Òª¸ºÔðÍøÂçÖ÷»úµÄ¶¨Î»£¬Êý¾Ý´«ÊäµÄ·ÓÉ£¬ÓÉIPµØÖ·¿ÉÒÔΨһµØÈ·¶¨InternetÉϵÄһ̨Ö÷»ú¡£
¶øTCP²ãÔòÌṩÃæÏòÓ¦ÓõĿɿ¿£¨tcp£©µÄ»ò·Ç¿É¿¿£¨UDP£©µÄÊý¾Ý´«Êä»úÖÆ£¬ÕâÊÇÍøÂç±à³ÌµÄÖ÷Òª¶ÔÏó£¬Ò»°ã²»ÐèÒª¹ØÐÄIP²ãÊÇÈçºÎ´¦ÀíÊý¾ÝµÄ¡£
Ä¿Ç°½ÏΪÁ÷ÐеÄÍøÂç±à³ÌÄ£ÐÍÊÇ¿Í»§»ú/·þÎñÆ÷£¨C/S£©½á¹¹¡£¼´Í¨ÐÅË«·½Ò»·½×÷Ϊ·þÎñÆ÷µÈ´ý¿Í»§Ìá³öÇëÇó²¢ÓèÒÔÏìÓ¦¡£¿Í»§ÔòÔÚÐèÒª·þÎñʱÏò·þÎñÆ÷Ìá ³öÉêÇë¡£·þÎñÆ÷Ò»°ã×÷ΪÊØ»¤½ø³ÌʼÖÕÔËÐУ¬¼àÌýÍøÂç¶Ë¿Ú£¬Ò»µ©Óпͻ§ÇëÇ󣬾ͻáÆô¶¯Ò»¸ö·þÎñ½ø³ÌÀ´ÏìÓ¦¸Ã¿Í»§£¬Í¬Ê±×Ô¼º¼ÌÐø¼àÌý·þÎñ¶Ë¿Ú£¬Ê¹ºóÀ´µÄ¿Í»§Ò² Äܼ°Ê±µÃµ½·þÎñ¡£
¶þ£¬Á½Àà´«ÊäÐÒ飺TCP£»UDP
TCPÊÇTranfer Control ProtocolµÄ ¼ò³Æ£¬ÊÇÒ»ÖÖÃæÏòÁ¬½ÓµÄ±£Ö¤¿É¿¿´«ÊäµÄÐÒ顣ͨ¹ýTCPÐÒé´«Ê䣬µÃµ½µÄÊÇÒ»¸ö˳ÐòµÄÎÞ²î´íµÄÊý¾ÝÁ÷¡£·¢ËÍ·½ºÍ½ÓÊÕ·½µÄ³É¶ÔµÄÁ½¸ösocketÖ®¼ä±ØÐ뽨 Á¢Á¬½Ó£¬ÒÔ±ãÔÚTCPÐÒéµÄ»ù´¡ÉϽøÐÐͨÐÅ£¬µ±Ò»¸ösocket£¨Í¨³£¶¼ÊÇserver socket£©µÈ´ý½¨Á¢Á¬½Óʱ£¬ÁíÒ»¸ösocket¿ÉÒÔÒªÇó½øÐÐÁ¬½Ó£¬Ò»µ©ÕâÁ½¸ösocketÁ¬½ÓÆðÀ´£¬ËüÃǾͿÉÒÔ½øÐÐË«ÏòÊý¾Ý´«Ê䣬˫·½¶¼¿ÉÒÔ½øÐз¢ËÍ »ò½ÓÊÕ²Ù×÷¡£
UDPÊÇUser Datagram ProtocolµÄ¼ò³Æ£¬ÊÇÒ»ÖÖÎÞÁ¬½ÓµÄÐÒ飬ÿ¸öÊý¾Ý±¨¶¼ÊÇÒ»¸ö¶ÀÁ¢µÄÐÅÏ¢£¬°üÀ¨ÍêÕûµÄÔ´µØÖ·»òÄ¿µÄµØÖ·£¬ËüÔÚÍøÂçÉÏÒÔÈκοÉÄܵÄ·¾¶´«ÍùÄ¿µÄµØ£¬Òò´ËÄÜ·ñµ½´ïÄ¿µÄµØ£¬µ½´ïÄ¿µÄµØµÄʱ¼äÒÔ¼°ÄÚÈݵÄÕýÈ·ÐÔ¶¼ÊDz»Äܱ»±£Ö¤µÄ¡£
±È½Ï£º
UDP£º1£¬Ã¿¸öÊý¾Ý±¨Öж¼¸ø³öÁËÍêÕûµÄµØÖ·ÐÅÏ¢£¬Òò´ËÎÞÐèÒª½¨Á¢·¢ËÍ·½ºÍ½ÓÊÕ·½µÄÁ¬½Ó¡£
2£¬UDP´«ÊäÊý¾ÝʱÊÇÓдóСÏÞÖƵģ¬Ã¿¸ö±»´«ÊäµÄÊý¾Ý±¨±ØÐëÏÞ¶¨ÔÚ64KBÖ®ÄÚ¡£
3£¬UDPÊÇÒ»¸ö²»¿É¿¿µÄÐÒ飬·¢ËÍ·½Ëù·¢Ë͵ÄÊý¾Ý±¨²¢²»Ò»¶¨ÒÔÏàͬµÄ´ÎÐòµ½´ï½ÓÊÕ·½
TCP£º1£¬ÃæÏòÁ¬½ÓµÄÐÒ飬ÔÚsocketÖ®¼ä½øÐÐÊý¾Ý´«Êä֮ǰ±ØȻҪ½¨Á¢Á¬½Ó£¬ËùÒÔÔÚTCPÖÐÐèÒªÁ¬½Ó
ʱ¼ä¡£
2£¬TCP´«ÊäÊý¾Ý´óСÏÞÖÆ£¬Ò»µ©Á¬½Ó½¨Á¢ÆðÀ´£¬Ë«·½µÄsocket¾Í¿ÉÒÔ°´Í³Ò»µÄ¸ñʽ´«Êä´óµÄ
Êý¾Ý¡£
3£¬TCPÊÇÒ»¸ö¿É¿¿µÄÐÒ飬ËüÈ·±£½ÓÊÕ·½ÍêÈ«ÕýÈ·µØ»ñÈ¡·¢ËÍ·½Ëù·¢Ë͵ÄÈ«²¿Êý¾Ý¡£
Ó¦Óãº
1£¬TCPÔÚÍøÂçͨÐÅÉÏÓм«Ç¿µÄÉúÃüÁ¦£¬ÀýÈçÔ¶³ÌÁ¬½Ó£¨Telnet£©ºÍÎļþ´«Ê䣨FTP£©¶¼ÐèÒª²»¶¨³¤¶ÈµÄÊý¾Ý±»¿É¿¿µØ´«Êä¡£µ«ÊÇ¿É¿¿µÄ´«ÊäÊÇÒª¸¶³ö´ú¼ÛµÄ£¬¶ÔÊý¾ÝÄÚÈÝÕýÈ·ÐԵļìÑé±ØȻռÓüÆËã»úµÄ´¦Àíʱ¼äºÍÍøÂçµÄ´ø¿í£¬Òò´ËTCP´«ÊäµÄЧÂʲ»ÈçUDP¸ß¡£
2£¬UDP²Ù×÷¼òµ¥£¬¶øÇÒ½öÐèÒª½ÏÉٵļ໤£¬Òò´Ëͨ³£ÓÃÓÚ¾ÖÓòÍø¸ß¿É¿¿ÐԵķÖɢϵͳÖÐclient/serverÓ¦ÓóÌÐò¡£ÀýÈçÊÓƵ»áÒéϵͳ£¬²¢²»ÒªÇóÒôƵÊÓƵÊý¾Ý¾ø¶ÔµÄÕýÈ·£¬Ö»Òª±£Ö¤Á¬¹áÐԾͿÉÒÔÁË£¬ÕâÖÖÇé¿öÏÂÏÔȻʹÓÃUDP»á¸üºÏÀíһЩ¡£
Èý£¬»ùÓÚSocketµÄjavaÍøÂç±à³Ì
1£¬Ê²Ã´ÊÇSocket
ÍøÂçÉϵÄÁ½¸ö³ÌÐòͨ¹ýÒ»¸öË«ÏòµÄͨѶÁ¬½ÓʵÏÖÊý¾ÝµÄ½»»»£¬Õâ¸öË«ÏòÁ´Â·µÄÒ»¶Ë³ÆΪһ¸öSocket¡£Socketͨ³£ÓÃÀ´ÊµÏÖ¿Í»§·½ºÍ·þÎñ·½µÄÁ¬½Ó¡£SocketÊÇTCP/IPÐÒéµÄÒ»¸öÊ®·ÖÁ÷Ðеıà³Ì½çÃ棬һ¸öSocketÓÉÒ»¸öIPµØÖ·ºÍÒ»¸ö¶Ë¿ÚºÅΨһȷ¶¨¡£
µ«ÊÇ£¬SocketËùÖ§³ÖµÄÐÒéÖÖÀàÒ²²»¹âTCP/IPÒ»ÖÖ£¬Òò´ËÁ½ÕßÖ®¼äÊÇûÓбØÈ»ÁªÏµµÄ¡£ÔÚJava»·¾³Ï£¬Socket±à³ÌÖ÷ÒªÊÇÖ¸»ùÓÚTCP/IPÐÒéµÄÍøÂç±à³Ì¡£
2£¬SocketͨѶµÄ¹ý³Ì
Server¶ËListen(¼àÌý)ij¸ö¶Ë¿ÚÊÇ·ñÓÐÁ¬½ÓÇëÇó£¬Client¶ËÏòServer ¶Ë·¢³öConnect(Á¬½Ó)ÇëÇó£¬Server¶ËÏòClient¶Ë·¢»ØAccept£¨½ÓÊÜ£©ÏûÏ¢¡£Ò»¸öÁ¬½Ó¾Í½¨Á¢ÆðÀ´ÁË¡£Server¶ËºÍClient ¶Ë¶¼¿ÉÒÔͨ¹ýSend£¬WriteµÈ·½·¨Óë¶Ô·½Í¨ÐÅ¡£
¶ÔÓÚÒ»¸ö¹¦ÄÜÆëÈ«µÄSocket£¬¶¼Òª°üº¬ÒÔÏ»ù±¾½á¹¹£¬Æ乤×÷¹ý³Ì°üº¬ÒÔÏÂËĸö»ù±¾µÄ²½Ö裺
¡¡¡¡£¨1£© ´´½¨Socket£»
¡¡¡¡£¨2£© ´ò¿ªÁ¬½Óµ½SocketµÄÊäÈë/³öÁ÷£»
¡¡¡¡£¨3£© °´ÕÕÒ»¶¨µÄÐÒé¶ÔSocket½øÐжÁ/д²Ù×÷£»
¡¡¡¡£¨4£© ¹Ø±ÕSocket.£¨ÔÚʵ¼ÊÓ¦ÓÃÖУ¬²¢Î´Ê¹Óõ½ÏÔʾµÄclose£¬ËäÈ»ºÜ¶àÎÄÕ¶¼ÍƼöÈç´Ë£¬²»¹ýÔÚÎҵijÌÐòÖУ¬¿ÉÄÜÒòΪ³ÌÐò±¾Éí±È½Ï¼òµ¥£¬ÒªÇ󲻸ߣ¬ËùÒÔ²¢Î´Ôì³ÉʲôӰÏì¡££©
3£¬´´½¨Socket
´´½¨Socket
javaÔÚ°üjava.netÖÐÌṩÁËÁ½¸öÀàSocketºÍServerSocket£¬·Ö±ðÓÃÀ´±íʾ˫ÏòÁ¬½ÓµÄ¿Í»§¶ËºÍ·þÎñ¶Ë¡£ÕâÊÇÁ½¸ö·â×°µÃ·Ç³£ºÃµÄÀ࣬ʹÓúܷ½±ã¡£Æä¹¹Ôì·½·¨ÈçÏ£º
¡¡¡¡Socket(InetAddress address, int port);
¡¡¡¡Socket(InetAddress address, int port, boolean stream);
¡¡¡¡Socket(String host, int prot);
¡¡¡¡Socket(String host, int prot, boolean stream);
¡¡¡¡Socket(SocketImpl impl)
¡¡¡¡Socket(String host, int port, InetAddress localAddr, int localPort)
¡¡¡¡Socket(InetAddress address, int port, InetAddress localAddr, int localPort)
¡¡¡¡ServerSocket(int port);
¡¡¡¡ServerSocket(int port, int backlog);
¡¡¡¡ServerSocket(int port, int backlog, InetAddress bindAddr)
¡¡¡¡ÆäÖÐaddress¡¢hostºÍport·Ö±ðÊÇË«ÏòÁ¬½ÓÖÐÁíÒ»·½µÄIPµØÖ·¡¢Ö÷»úÃûºÍ¶Ë ¿ÚºÅ£¬streamÖ¸Ã÷socketÊÇÁ÷socket»¹ÊÇÊý¾Ý±¨socket£¬localPort±íʾ±¾µØÖ÷»úµÄ¶Ë¿ÚºÅ£¬localAddrºÍ bindAddrÊDZ¾µØ»úÆ÷µÄµØÖ·£¨ServerSocketµÄÖ÷»úµØÖ·£©£¬implÊÇsocketµÄ¸¸À࣬¼È¿ÉÒÔÓÃÀ´´´½¨serverSocketÓÖ¿É ÒÔÓÃÀ´´´½¨Socket¡£countÔò±íʾ·þÎñ¶ËËùÄÜÖ§³ÖµÄ×î´óÁ¬½ÓÊý¡£ÀýÈ磺ѧϰÊÓƵÍø http://www.xxspw.com
¡¡¡¡Socket client = new Socket("127.0.01.", 80);
¡¡¡¡ServerSocket server = new ServerSocket(80);
¡¡¡¡×¢Ò⣬ÔÚÑ¡Ôñ¶Ë¿Úʱ£¬±ØÐëСÐÄ¡£Ã¿Ò»¸ö¶Ë¿ÚÌṩһÖÖÌض¨µÄ·þÎñ£¬Ö»Óиø³öÕýÈ·µÄ¶Ë¿Ú£¬²Å ÄÜ»ñµÃÏàÓ¦µÄ·þÎñ¡£0~1023µÄ¶Ë¿ÚºÅΪϵͳËù±£Áô£¬ÀýÈçhttp·þÎñµÄ¶Ë¿ÚºÅΪ80,telnet·þÎñµÄ¶Ë¿ÚºÅΪ21,ftp·þÎñµÄ¶Ë¿ÚºÅΪ23, ËùÒÔÎÒÃÇÔÚÑ¡Ôñ¶Ë¿ÚºÅʱ£¬×îºÃÑ¡ÔñÒ»¸ö´óÓÚ1023µÄÊýÒÔ·ÀÖ¹·¢Éú³åÍ»¡£
¡¡¡¡ÔÚ´´½¨socketʱÈç¹û·¢Éú´íÎ󣬽«²úÉúIOException£¬ÔÚ³ÌÐòÖбØÐë¶ÔÖ®×÷³ö´¦Àí¡£ËùÒÔÔÚ´´½¨Socket»òServerSocketÊDZØÐ벶»ñ»òÅ׳öÀýÍâ¡£
4£¬¼òµ¥µÄClient/Server³ÌÐò
1. ¿Í»§¶Ë³ÌÐòimport java.io.*; ¡¡¡¡import java.net.*; ¡¡¡¡public class TalkClient { ¡¡¡¡¡¡¡¡public static void main(String args[]) { ¡¡¡¡¡¡¡¡¡¡¡¡try{ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Socket socket=new Socket("127.0.0.1",4700); ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//Ïò±¾»úµÄ4700¶Ë¿Ú·¢³ö¿Í»§ÇëÇó ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡BufferedReader sin=new BufferedReader(new InputStreamReader(System.in)); ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//ÓÉϵͳ±ê×¼ÊäÈëÉ豸¹¹ÔìBufferedReader¶ÔÏó ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡PrintWriter os=new PrintWriter(socket.getOutputStream()); ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//ÓÉSocket¶ÔÏóµÃµ½Êä³öÁ÷£¬²¢¹¹ÔìPrintWriter¶ÔÏó ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡BufferedReader is=new BufferedReader(new InputStreamReader(socket.getInputStream())); ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//ÓÉSocket¶ÔÏóµÃµ½ÊäÈëÁ÷£¬²¢¹¹ÔìÏàÓ¦µÄBufferedReader¶ÔÏó ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡String readline; ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡readline=sin.readLine(); //´Óϵͳ±ê×¼ÊäÈë¶ÁÈëÒ»×Ö·û´® ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡while(!readline.equals("bye")){ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//Èô´Ó±ê×¼ÊäÈë¶ÁÈëµÄ×Ö·û´®Îª "bye"Ôòֹͣѻ· ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡os.println(readline); ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//½«´Óϵͳ±ê×¼ÊäÈë¶ÁÈëµÄ×Ö·û´®Êä³öµ½Server ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡os.flush(); ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//Ë¢ÐÂÊä³öÁ÷£¬Ê¹ServerÂíÉÏÊÕµ½¸Ã×Ö·û´® ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡System.out.println("Client:"+readline); ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//ÔÚϵͳ±ê×¼Êä³öÉÏ´òÓ¡¶ÁÈëµÄ×Ö·û´® ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡System.out.println("Server:"+is.readLine()); ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//´ÓServer¶ÁÈëÒ»×Ö·û´®£¬²¢´òÓ¡µ½±ê×¼Êä³öÉÏ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡readline=sin.readLine(); //´Óϵͳ±ê×¼ÊäÈë¶ÁÈëÒ»×Ö·û´® ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡} //¼ÌÐøÑ»· ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡os.close(); //¹Ø±ÕSocketÊä³öÁ÷ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡is.close(); //¹Ø±ÕSocketÊäÈëÁ÷ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡socket.close(); //¹Ø±ÕSocket ¡¡¡¡¡¡¡¡¡¡¡¡}catch(Exception e) { ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡System.out.println("Error"+e); //³ö´í£¬Ôò´òÓ¡³ö´íÐÅÏ¢ ¡¡¡¡¡¡¡¡¡¡¡¡} ¡¡¡¡} }
2. ·þÎñÆ÷¶Ë³ÌÐò
import java.io.*;
¡¡¡¡import java.net.*;
¡¡¡¡import java.applet.Applet;
¡¡¡¡public class TalkServer{
¡¡¡¡¡¡¡¡public static void main(String args[]) {
¡¡¡¡¡¡¡¡¡¡¡¡try{
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ServerSocket server=null;
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡try{
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡server=new ServerSocket(4700);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//´´½¨Ò»¸öServerSocketÔڶ˿Ú4700¼àÌý¿Í»§ÇëÇó
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡}catch(Exception e) {
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡System.out.println("can not listen to:"+e);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//³ö´í£¬´òÓ¡³ö´íÐÅÏ¢
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Socket socket=null;
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡try{
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡socket=server.accept();
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//ʹÓÃaccept()×èÈûµÈ´ý¿Í»§ÇëÇó£¬Óпͻ§
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//ÇëÇóµ½À´Ôò²úÉúÒ»¸öSocket¶ÔÏ󣬲¢¼ÌÐøÖ´ÐÐ
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡}catch(Exception e) {
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡System.out.println("Error."+e);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//³ö´í£¬´òÓ¡³ö´íÐÅÏ¢
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡String line;
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡BufferedReader is=new BufferedReader(new InputStreamReader(socket.getInputStream()));
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//ÓÉSocket¶ÔÏóµÃµ½ÊäÈëÁ÷£¬²¢¹¹ÔìÏàÓ¦µÄBufferedReader¶ÔÏó
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡PrintWriter os=newPrintWriter(socket.getOutputStream());
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//ÓÉSocket¶ÔÏóµÃµ½Êä³öÁ÷£¬²¢¹¹ÔìPrintWriter¶ÔÏó
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡BufferedReader sin=new BufferedReader(new InputStreamReader(System.in));
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//ÓÉϵͳ±ê×¼ÊäÈëÉ豸¹¹ÔìBufferedReader¶ÔÏó
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡System.out.println("Client:"+is.readLine());
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//ÔÚ±ê×¼Êä³öÉÏ´òÓ¡´Ó¿Í»§¶Ë¶ÁÈëµÄ×Ö·û´®
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡line=sin.readLine();
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//´Ó±ê×¼ÊäÈë¶ÁÈëÒ»×Ö·û´®
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡while(!line.equals("bye")){
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//Èç¹û¸Ã×Ö·û´®Îª "bye"£¬Ôòֹͣѻ·
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡os.println(line);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//Ïò¿Í»§¶ËÊä³ö¸Ã×Ö·û´®
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡os.flush();
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//Ë¢ÐÂÊä³öÁ÷£¬Ê¹ClientÂíÉÏÊÕµ½¸Ã×Ö·û´®
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡System.out.println("Server:"+line);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//ÔÚϵͳ±ê×¼Êä³öÉÏ´òÓ¡¶ÁÈëµÄ×Ö·û´®
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡System.out.println("Client:"+is.readLine());
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//´ÓClient¶ÁÈëÒ»×Ö·û´®£¬²¢´òÓ¡µ½±ê×¼Êä³öÉÏ
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡line=sin.readLine();
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//´Óϵͳ±ê×¼ÊäÈë¶ÁÈëÒ»×Ö·û´®
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡} ¡¡//¼ÌÐøÑ»·
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡os.close(); //¹Ø±ÕSocketÊä³öÁ÷
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡is.close(); //¹Ø±ÕSocketÊäÈëÁ÷
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡socket.close(); //¹Ø±ÕSocket
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡server.close(); //¹Ø±ÕServerSocket
¡¡¡¡¡¡¡¡¡¡¡¡}catch(Exception e){
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡System.out.println("Error:"+e);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//³ö´í£¬´òÓ¡³ö´íÐÅÏ¢
¡¡¡¡¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡}
¡¡¡¡}
5£¬Ö§³Ö¶à¿Í»§µÄclient/server³ÌÐò
Ç°ÃæµÄClient/Server³ÌÐòÖ»ÄÜʵÏÖServerºÍÒ»¸ö¿Í»§µÄ¶Ô»°¡£ÔÚʵ¼ÊÓ¦Óà ÖУ¬ÍùÍùÊÇÔÚ·þÎñÆ÷ÉÏÔËÐÐÒ»¸öÓÀ¾ÃµÄ³ÌÐò£¬Ëü¿ÉÒÔ½ÓÊÕÀ´×ÔÆäËû¶à¸ö¿Í»§¶ËµÄÇëÇó£¬ÌṩÏàÓ¦µÄ·þÎñ¡£ÎªÁËʵÏÖÔÚ·þÎñÆ÷·½¸ø¶à¸ö¿Í»§Ìṩ·þÎñµÄ¹¦ÄÜ£¬ÐèÒª¶ÔÉÏ ÃæµÄ³ÌÐò½øÐиÄÔ죬ÀûÓöàÏß³ÌʵÏÖ¶à¿Í»§»úÖÆ¡£·þÎñÆ÷×ÜÊÇÔÚÖ¸¶¨µÄ¶Ë¿ÚÉϼàÌýÊÇ·ñÓпͻ§ÇëÇó£¬Ò»µ©¼àÌýµ½¿Í»§ÇëÇ󣬷þÎñÆ÷¾Í»áÆô¶¯Ò»¸öרÃŵķþÎñÏß³ÌÀ´Ïì Ó¦¸Ã¿Í»§µÄÇëÇ󣬶ø·þÎñÆ÷±¾ÉíÔÚÆô¶¯ÍêÏß³ÌÖ®ºóÂíÉÏÓÖ½øÈë¼àÌý״̬£¬µÈ´ýÏÂÒ»¸ö¿Í»§µÄµ½À´¡£
ÍƼöÐÅÏ¢
- ÔÝÎ޼Ǽ
ÈÈÃÅÐÅÏ¢
- nohup: redirecting stderr to stdou....
- ʹÓÃlog_formatΪNginx·þÎñÆ÷ÉèÖøüÏêϸµÄÈÕÖ¾¸ñʽ
- jquery easyUI--dataGrid-Json
- [Ô´´]·ÂGoogle Reader¡¢ÐÂÀË΢²©¡¢ÌÚѶ΢²©µ....
- ÀûÓÃKeepalived+mysql¹¹½¨¸ß¿ÉÓÃMySQLË«Ö÷×Ô¶....
- Nginx+keepalivedʵÏÖ¸ºÔؾùºâºÍË«»úÈȱ¸¸ß¿ÉÓÃ
- jqueryʵÏÖÒ³Ãæ¼ÓÔؽø¶ÈÌõ
- Rolling cURL: PHP²¢·¢×î¼Ñʵ¼ù
- codeigniter ·ÓÉÖÕ¼«ÓÅ»¯(url rewrite)
- linuxÏÂÉèÖÃsshÎÞÃÜÂëµÇ¼
×î½ü¸üÐÂ
- java urlÖØд¼¼Êõ(UrlReWriter)
- [ת]JavaµÄÊý×飨Array£©¡¢Vector¡¢ArrayLis....
- jsp»·¾³ÏÂajaxÂÒÂëÎÊÌâµÄ½â¾ö
- JSP¼¼Êõ Ö¸Áî ÂÒÂëÎÊÌâ ÔËÐÐÔÀíºÍ¾Å´óÒþʽ¶ÔÏó web¿ª·¢µÄË....
- JAVA ˮӡ ͼƬ ÎÄ×Ö
- java¶þ½øÖÆ£¬ÔÂë¡¢·´Âë¡¢²¹Â롢λÔËËã
- Java WebÓ¦ÓÃÆô¶¯¼ä¸ôÖ´ÐеijÌÐò
- jspÉú³ÉxmlÎļþʾÀý
- javaÖÐÀà±äÁ¿¡¢Àà·½·¨¡¢ÊµÀý±äÁ¿¡¢ÊµÀý·½·¨
- JSPÒ³ÃæµÄÎåÖÖÌøת·½·¨
ÆÀÂÛ