ÒøÐÐǰÖûú³ÌÐò£¨Í¨ÐŲ¿·Ösocket£¬java±àд £©
2009Äê10ÔÂ31ÈÕ ÐÇÆÚÁù 15:32
package Client;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.net.SocketException;
import java.net.SocketTimeoutException;
import java.net.UnknownHostException;
import java.nio.channels.IllegalBlockingModeException;
import Config.ParameterCfg;
import ErrorExcp.ErrorExcp;
import Log.Log;
import Msg.Msg.Msg;
import MsgCfg.MsgGlobalInfo;
/**
*
* @author xiehui ͨÐÅÀ࣬Êý¾ÝµÄ·¢ËÍÓë½ÓÊÜ
*
*/
public class Client {
/**
* ¸ºÔðÊý¾Ý·¢ËÍÓë½ÓÊܵÄÌ×½Ó×Ö
*/
public Socket ncpClient;
/**
* socket¶ÁÈ¡Êý¾Ý¹ÜµÀ
*/
public OutputStream writeIO;
/**
* socketдÊý¾Ý¹ÜµÀ
*/
public InputStream receiveIO;
/**
*ÈÕÖ¾¼Ç¼
*/
public Log log;
/**
* ÊÇ·ñ×öÁË×ÊÔ´ÊÍ·Å£¬±ÜÃâ¶þ´ÎÊÍ·ÅÒýÆðbug£¬Ä¬ÈÏΪ¼Ù
*/
public boolean isCloseDeal = false;
/**
* ÔÚÌ×½Ó×ÖÉÏ»ñÈ¡µÄ±¨ÎÄÐÅÏ¢
*/
public MsgInfo msgInfo;
/**
* Client()º¯ÊýΪ¹¹Ô캯Êý
*
* @param acccpetSocket
* £ºÎª·þÎñÆ÷ͶµÝ¹ýÀ´µÄÌ×½Ó×Ö<br>
*
* log:Ϊ´«µÝµÄÈÕÖ¾¶ÔÏ󣬷½±ãÔÚͨÐŵĹý³ÌÖн«×´Ì¬¼Ç¼ÏÂÀ´
*
* @return ûÓзµ»ØÖµµÄÄÚÈÝ
*
* @exception exceptions
* ûÓÐÒì³£±»Å׳ö
*/
public Client(Socket acccpetSocket, Log log) {
/**
* Ì×½Ó×Ö±¾µØ´´½¨µÄ£¬·¢Æð·½ÊÇÅ©²úƷǰÖûú
*/
this.ncpClient = acccpetSocket;
this.log = log;
msgInfo = new MsgInfo();
/**
* ½«·¢ÆðµÄIPµØÖ·Ð´ÈëÈÕÖ¾
*/
log.add(acccpetSocket.getRemoteSocketAddress());
}
/**
* Ïò·þÎñÆ÷½¨Á¢Á¬½Ó
*
* @param seconds
* £ºÎªÏò·þÎñÆ÷·¢ÆðÁ¬½ÓµÄ³¬Ê±Ê±¼ä<br>
*
*  
Ïà¹ØÎĵµ£º
package com.vista.Server;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.nio.ByteBuffer;
import java.nio.channels.SelectionKey;
import java.nio.channels.Selector;
import java.nio.channels.ServerSocketChannel;
import java.nio.channels. ......
1.InputStreamºÍOutputStreamÊÇÓÃÓÚ¶Á»òдµ¥¸ö×Ö½Ú»òÕß×Ö½ÚÊý×飬ÎÒÃǺÜÉÙÓõ½ËüÃǵķ½·¨£¬ËüÃÇÖ®ËùÒÔ´æÔÚÊÇÒòΪ±ðµÄÀà¿ÉÒÔʹÓÃËüÃÇ£¬ÒÔ±ãÌṩ¸üÓÐÓõĽӿڡ£Òò´Ë£¬ÎÒÃǺÜÉÙʹÓõ¥Ò»µÄÀàÀ´´´½¨Á÷¶ÔÏ󣬶øÊÇͨ¹ýµþºÏ¶à¸ö¶ÔÏóÀ´ÌṩËùÆÚÍûµÄ¹¦ÄÜ¡£
2.FilterInputStreamºÍFilterOutputStreamÊÇÓÃÀ´ÌṩװÊÎÆ÷Àà½Ó¿ÚÒÔ¿ØÖÆÌض¨ ......
ʹÓÃJava²Ù×÷Îı¾ÎļþµÄ·½·¨Ïê½â
ÕªÒª: ×î³õjavaÊDz»Ö§³Ö¶ÔÎı¾ÎļþµÄ´¦ÀíµÄ£¬ÎªÁËÃÖ²¹Õâ¸öȱº¶¶øÒýÈëÁËReaderºÍWriterÁ½¸öÀà
×î³õjavaÊDz»Ö§³Ö¶ÔÎı¾ÎļþµÄ´¦ÀíµÄ£¬ÎªÁËÃÖ²¹Õâ¸öȱº¶¶øÒýÈëÁËReaderºÍWriterÁ½¸öÀ࣬ÕâÁ½¸öÀà¶¼ÊdzéÏóÀ࣬WriterÖÐ write(char[] ch,int off,int
length)£¬flush()ºÍclose()·½·¨Îª³éÏó·½· ......
Ä¿±ê£ºÊµÏÖÒ»¸öºº×Ö×Ö·û´®°´ººÓïÆ´Òô×Öµä˳ÐòÅÅÐò¡£
ÔÀí£ºÔÚwindows»·¾³µÄgbk×Ö·û¼¯Àºº×ÖÊǰ´ººÓïÆ´Òô×Öµä˳Ðò±àÂëµÄ£¬Èç“´¡”ÊÇ B4A1£¬“´¢”ÊÇB4A2¡£ÕâÀïÓиöÎÊÌâ¾ÍÏñÉÏÃæµÄ´¢ºÍ´¡ÕâÑùµÄͬÒô×ÖÖ»ÄÜ×ñÕÕ±àÂëµÄ˳ÐòÁË£¬ÁíÍâ¶àÒô×ÖÒ²µÃ×ñÕÕ±àÂë˳Ðò¡£Éè¼ÆË¼Â·ÊÇÏȲð·Öºº×Ö×Ö·û´®Îª×Ö·ûÊý×飬»ñµÃà ......
³£ÓõÄÉè¼ÆÄ£Ê½·ÖΪÈçÏ 23 ÖÖģʽ£º
Abstract Factory£º
Ìṩһ¸ö´´½¨Ò»ÏµÁÐÏà¹Ø»òÏ໥ÒÀÀµ¶ÔÏóµÄ½Ó¿Ú£¬¶øÎÞÐèÖ¸¶¨Ëü
ÃǾßÌåµÄÀà¡£
Adapter£º
½«Ò»¸öÀàµÄ½Ó¿Úת»»³É¿Í»§Ï£ÍûµÄÁíÒ»¸ö½Ó¿Ú£¬Ê¹µÃÔÀ´ÓÉÓÚ½Ó¿Ú²»¼æÈݶø²»ÄÜÒ»Æð¹¤×÷µÄÄÇЩÀà¿ÉÒÔÒ»Æð¹¤×÷¡£
Bridge£º
½«
³éÏ󲿷ÖÓëËüµÄʵÏÖ²¿·Ö·ÖÀ룬ʹ֮¿ÉÒÔ¶ÀÁ¢±ä»¯¡ ......