BLOG - Fighting Man

Fighting Man’s weblog - 推荐您使用Firefox浏览

拳皇【KOF】局域网联网对战配置教程

拳皇【KOF】局域网联网对战配置教程

要用到的软件:

kaillerasrv

kaillerasrv只包含3个文件,其中kaillerasrv.conf是配置文件,也是我们要修改的。打开kaillerasrv.conf,然后看到; Use this parameter if you want to manually specify your server’s
; IP address or leave blank for automatic
; (ex: IP=154.253.21.56)
IP=

我们在“=”后面加上本机电脑的IP,比如我的电脑的局域网IP是192.168.1.101,修改之后就变成

; Use this parameter if you want to manually specify your server’s
; IP address or leave blank for automatic
; (ex: IP=154.253.21.56)
IP=192.168.1.101

设置好之后运行kaillerasrv.exe,然后在拳皇模拟器里选择“开始联机游戏”,点“Enter IP”按钮,输入IP和端口“192.168.1.101:27888”,这样,局域网的拳皇游戏的服务器就建立起来了。

贴吧再出“神贴”

http://tieba.baidu.com/f?kz=440240025

WisMencoder转AVI视频音频参数设置 For N73

音频编码:MP3\固定码率\编码率128\音频采样率32000\音频算法7
视频设置:Xvid\固定码率\自定义宽度320\根据原文件比例自适应高度\编码率180\桢数15两次编码

C#写的IBM WebSphere MQ收发消息的封装类

项目中用到了IBM WebSphere MQ,因为需求也很简单,所以只做了很简单的封装,支持向指定的主机的指定的队列发和收消息。

用法:

WQWraper wraper = null;
/// <summary>
///
/// </summary>
private void InitWraper() //创建连接
{
string hostname = this.tbConnection.Text; //Server地址
string channel = this.tbChannel.Text; //Channel 名
string qManager = this.tbQMng.Text; //Queue Manager名
string qqueue = “a1″;

WQServer server = new WQServer(hostname, channel, qqueue, qManager, 1414);
wraper = new WQWraper(server);
}

private void button1_Click(object sender, EventArgs e) //发送消息
{
wraper.sender(tbMsg.Text.Trim());

}
private void button2_Click(object sender, EventArgs e) //获取消息
{
string msg = string.Empty;
wraper.receiver(ref msg);
tbReceive.Text = msg;
}

WQWraper类:向指定主机的指定队列读取和发送消息

 /// <summary>
    /// 向指定主机的指定队列读取和发送消息
    /// </summary>
    public class WQWraper
    {
        private WQServer _server=null;
  
        public WQServer WQSERVER
        {
            get {
                return _server;
            }
        }
        public WQWraper(WQServer server)
        {
            _server = server;
            Init();
        }
        protected MQQueueManager queueManager = null;
        protected MQQueue queue = null;

        /// <summary>
        ///   MQEnvironment初始化
        /// </summary>
        private void Init()
        {

            MQEnvironment.Hostname = _server.HostName;

            MQEnvironment.Channel = _server.Channel;

            MQEnvironment.Port = _server.Port;

            MQEnvironment.properties.Add(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES);

         

        }
        /// <summary>
        /// 向指定的主机指定的队列发送消
        /// </summary>
  
        public void sender(string sendMessage)
        {
            try
            {
                /*连接到队列管理器*/

                queueManager = new MQQueueManager(_server.QueueManagerName);

                LogService.log.Debug(”Create Queue Manager Sucess”);
              
                 /*设置打开选项以便打开用于输出的队列,如果队列管理器已经停止,我们也设置了选项去应对不成功的情况*/

 

      int openOptions = MQC.MQOO_OUTPUT | MQC.MQOO_FAIL_IF_QUIESCING ;

      /*打开队列*/

      queue = queueManager.AccessQueue(_server.QueueName   , openOptions);

      /*设置放置消息选项,使用默认设置*/

      MQPutMessageOptions pmo = new MQPutMessageOptions() ;

      /*创建消息,MQMessage类包含实际消息数据的数据缓冲区和描述消息的所有MQMD参数*/

      MQMessage outMsg = new MQMessage() ;

      /*设置MQMD(Manager Queue Message Description)格式字段*/

      outMsg.Format = MQC.MQFMT_STRING ;

      /*准备用户数据消息*/

   

      outMsg.WriteString(sendMessage) ;
      /*队列上放置消息*/

      queue.Put(outMsg, pmo) ;
      /*提交事务处理*/

      queueManager.Commit() ;

 LogService.log.Debug(”The message has been successfully put!”);

 

      }
   catch (MQException ex)
    {

 

     LogService.log.Debug(”An MQ Error Occured:Completion Code is :\t” +ex.StackTrace) ;

 

    }

    catch (IOException ioe)
    {
  LogService.log.Debug(ioe.StackTrace);

    }

    finally

    {

      try
      {

        if (queue != null)

        {

          queue.Close() ;

 

         LogService.log.Debug(”Close the queue:[" + _server.QueueName + "] successfully”) ;

 

        }

        if (queueManager != null)

        {

          queueManager.Close() ;

          queueManager.Disconnect() ;

          LogService.log.Debug(”Disconnect the queue manager:[" + _server.QueueManagerName + "] successfully”) ;
        }

 

      }

 

      catch (MQException mqe)
      {
          LogService.log.Debug(mqe.StackTrace);

      }
    }

 

        }
       
        /// <summary>
        /// 从指定的主机指定的队列中取出消息
        /// </summary>
        public void receiver(ref string recvMessage)
        {
            try
            {
                 /*连接到队列管理器*/
                if(queueManager==null){
                    queueManager = new MQQueueManager(_server.QueueManagerName) ;
                }

                LogService.log.Debug(”Access the queue manager:[" + _server.QueueManagerName + "] successfully”);
                /*设置打开选项以便打开用于输出的队列,如果队列管理器已经停止,设置应对不成功的情况*/

 

                int openOptions = MQC.MQOO_INPUT_SHARED | MQC.MQOO_FAIL_IF_QUIESCING;

 

      if (queue == null)
      {
          queue = queueManager.AccessQueue(_server.QueueName, openOptions, null, null, null);

      }
                 /*设置放置消息选项,使用默认设置*/

 

      MQGetMessageOptions gmo = new MQGetMessageOptions();

      /*在同步点控制下获取消息*/

 

      gmo.Options = gmo.Options + MQC.MQGMO_SYNCPOINT;

 

      /*如果在队列上没有消息则等待*/

 

      gmo.Options = gmo.Options + MQC.MQGMO_WAIT;

 

      /*如果队列管理器停顿则失败*/

 

      gmo.Options = gmo.Options + MQC.MQGMO_FAIL_IF_QUIESCING;

 

      /*设置等待时间间隔*/

 

      gmo.WaitInterval = 3000;

 /*创建MQMessage类*/

 

      MQMessage inMsg = new MQMessage() ;

 

      /*从队列到消息缓冲区获取消息*/

 

      queue.Get(inMsg, gmo) ;

 

 

 

      /*从消息读取用户数据*/

 

      recvMessage = inMsg.ReadString(inMsg.MessageLength);

 

      LogService.log.Debug(”The message from the Queue is :” + recvMessage);

 

 

 

      /*提交事务*/

 

      queueManager.Commit() ;

 

 

 

      LogService.log.Debug(”The Message has been successfully put”);

 

            }
   catch (MQException ex)

    {

     LogService.log.Debug(”An MQ Error Occured:Completion Code is :\t” +   ex.StackTrace) ;

    }

 

    catch (IOException ioe)

    {
       
     LogService.log.Debug(ioe.StackTrace ) ;
    }

 

    finally

 

    {

 

      try

 

      {

 

        if (queue != null)

        {

    queue.Close();
 LogService.log.Debug(”Close the queue:[" + _server.QueueName + "] successfully”) ;

 

        }

        if (queueManager != null)

 

        {

 

          queueManager.Close() ;

 

          queueManager.Disconnect() ;

 

          LogService.log.Debug(”Disconnect the queue manager:[" +  _server.QueueManagerName + "] successfully”) ;

 

        }

 

      }

 

      catch (MQException mqe)

 

      {
          LogService.log.Debug(mqe.StackTrace);

 

      }

 

 

 

    }

 
        }

WQServer类:指定的主机实体类

/// <summary>
    /// 指定的主机
    /// </summary>
   public class WQServer
    {
       private string _HostName;
       private string _Channel;
       private string _QueueName;
       private string _QueueManagerName;
       private int _Port;

       public string HostName
       {
           get { return _HostName; }
       }
       public string Channel
       {
           get { return _Channel; }
       }
       public string QueueName {
           get { return _QueueName; }
       }
       public string QueueManagerName {
           get { return _QueueManagerName; }
       }
       public int Port {
           get { return _Port; }
       }
       public WQServer(String strHostName, String strChannel,  String strQueueName, String strQueueManagerName,int intPort)
       {
           _HostName = strHostName;
        
         _Channel=strChannel;

         _QueueName=strQueueName;

        _QueueManagerName=strQueueManagerName;

         _Port = intPort;
       }

You And Me,我和你


我和你,心连心,同住地球村,为梦想,千里行,相会在北京。

来吧!朋友,伸出你的手,我和你,心连心,永远一家人。

You and Me From one world We are family

Travel dream

A thousand miles Meeting in Beijing

Come together

Put your hand in mine

You and Me From one world We are family

  • Categories

  • 友情推荐

    休闲旅游吧

    泥巴团队博客联盟