zoukankan      html  css  js  c++  java
  • DIOCP之获取在线用户列表

    通过获取tcpserver.getonlinecontextlist来得到在线列表

    procedure TfrmMain.btn_refreshClick(Sender: TObject);
    var
    lvList:TList;
    i: Integer;
    lvClient:TMyClientContext;
    lvItem:TListItem;
    begin
    lstClientINfo.Items.Clear;
    lvList:=TList.Create;
    try
    FTcpServer.getOnlineContextList(lvList);
    for i := 0 to lvList.Count - 1 do
    begin
    lvClient := TMyClientContext(lvList[i]);
    lvItem := lstClientINfo.Items.Add;
    lvItem.Caption :=IntToStr(i+1);
    try
    lvItem.SubItems.Add(TChatSession(lvClient.Data).UserID);
    except on E: Exception do
    lvItem.SubItems.Add('未登录');
    end;
    try
    lvItem.SubItems.Add(TChatSession(lvClient.Data).UserMac);
    except on E: Exception do
    lvItem.SubItems.Add('未知');
    end;
    // lvItem.SubItems.Add('');
    lvItem.SubItems.Add(lvClient.RemoteAddr);
    lvItem.SubItems.Add(IntToStr(lvClient.RemotePort));
    // if TChatSession(lvClient.Data).UserID<>'' then
    //
    // lvItem.SubItems.Add(TChatSession(lvClient.Data).UserID)
    // else
    // lvItem.SubItems.Add('');
    lvItem.SubItems.Add(IntToStr(lvClient.SocketHandle));
    lvItem.SubItems.Add(lvClient.StateINfo);
    end;


    finally
    lvList.Free;
    end;
    end;

  • 相关阅读:
    Netty大小端
    手写简单IOC
    Java线程
    mysql查询性能问题,加了order by速度慢了
    字节码增强技术探索
    Linux 添加定时任务
    一千行 MySQL 学习笔记
    深入浅出Shiro系列
    深入浅出SpringMVC系列~
    来聊一聊 Linux 常用命令 (第二篇)~
  • 原文地址:https://www.cnblogs.com/diocp/p/5843362.html
Copyright © 2011-2022 走看看