zoukankan      html  css  js  c++  java
  • CSharp之传奇3网关LoginGate

    由于CSharp提供很好Socket封装的类,所以写起来也很方便~~~

    监听TcpListener ServerSocket;
    与LoginSvr之间的通讯TcpClient ClientSocket;

    其实,很多朋友在这里,都会觉得在这一方面很困惑,觉得没有像Delphi有控件。其实,CSharp更简单。

    public void StartServer()
    {
        
    // 创建一个监听本地7000端口的ServerSocket对象
        ServerSocket = new TcpListener(5500);
        
    // 开始监听本地7000端口
       ServerSocket.Start();
    }

    以上代码,就实现了对本地7000端口的的监听,是不是很简单呢?下面来讲如何监听有客户端访问。

    public void StartServer()
    {
        
    // 创建一个监听本地7000端口的ServerSocket对象
        ServerSocket = new TcpListener(5500);
        
    // 开始监听本地7000端口
        ServerSocket.Start();
        
    // 异步监听客户端访问,其实这里相当于新启动了一个进程。
        ServerSocket.BeginAcceptTcpClient(new AsyncCallback(ComplageAcceptTcpClient), null);
    }

    private void ComplageAcceptTcpClient(IAsyncResult ar)
    {
        
    // 监听是否有客户端传入,相当于Console.Read()一样。接收到有传入,就把传入的信息赋予Client。
        TcpClient Client = ServerSocket.EndAcceptTcpClient(ar);
    }

    这面就实现了对客户的监听,是不是很简单呢?下面来谈谈收到用户信息后如果处理。在DELPHI里,用了一个Timer对UserSession进行遍历然后发送。这里,其实也可以,不过既然有这么好的封装,何不创建一个Session的对象呢?

    创建一个Session的类

    这样,就OK了。是不是很简单?

    开始监听是否有客户端传入

    这样,就完成了打开7000端口并监听客户端,是不是很简单呢?

    个人博客:星烁小屋(http://www.zks.cn/)

    引用:http://www.zks.cn/article.asp?id=45

  • 相关阅读:
    SOLR企业搜索平台 一 (搭建SOLR)
    org.apache.catalina.util.DefaultAnnotationProcessor cannot be cast to org.ap解决方案
    SOLR企业搜索平台 二 (分词安装)
    SOLR企业搜索平台 三 (schema.xml配置和solrj的使用)
    java读取某个文件夹下的所有文件
    Asp.net中奇怪的Calendar日期
    [持续交付实践] 交付流水线设计:代码静态检查
    [持续交付实践] pipeline使用:语法详解
    [持续交付实践] pipeline使用:快速入门
    [持续交付实践] 开篇:持续集成&持续交付综述
  • 原文地址:https://www.cnblogs.com/wkavenger/p/1335961.html
Copyright © 2011-2022 走看看