在VC中使用ListCtrl保存上线主机SOCKET句柄

转载 2007年10月14日 13:32:00
 在VC中使用ListCtrl保存上线主机SOCKET句柄

我知道在BCB中的列表框有一个DATE项,昨天晚上在群里草草说VC的ListCtrl也可以存入一个
DWORD类型的数据,这让我很高兴因为,当时我正为如何处理上线主机的SOCKET列表而头疼,
而SOCKET是 unsigned long类型的,也就是说可以把上线的主机存在ListCtrl中,而使用这个方法可以搞定了

保存SOCKET数据


int num=m_list.InsertItem(ImageID,szIP,ImageID);
m_list.SetItemData(num,(DWORD)client);//保存服务SOCKET句柄

这样就把SOCKET句柄跟列表项连接到一快了


获取SOCKET数据

为LIST加一个单击鼠标的消息,当收到消息时取出SOCKET值并设置为 当前SOCKET,代码如下

void CMyDlg::OnClickList(NMHDR* pNMHDR, LRESULT* pResult)
{
    POSITION pos = m_list.GetFirstSelectedItemPosition();
    int currentSelect=m_list.GetNextSelectedItem(pos);    //取当前选择项

    if(currentSelect>=0)
    {   
        DWORD val;
        val=m_list.GetItemData(currentSelect);        //得到数据
        CurrentServerSocket=(SOCKET)val;        //转为SOCKET
    }
    *pResult = 0;
}

遇到一个因socket未关闭引发的文件句柄用完问题

“爱提踢斯”项目最近遇到一个问题,当FTP服务器磁盘没有空间时,设备会不断复位——这是测试人员反馈的。我们拿到log后,看到一个通信所用的文件打开失败。不断打印too many open file,然...
  • subfate
  • subfate
  • 2015年08月01日 14:38
  • 2466

【分享】文件句柄数递增问题排查--引申出SOCKET泄露

最近在linux上开发的
  • willability
  • willability
  • 2014年07月18日 17:12
  • 1771

VC CListCtrl控件的使用方法

在VC中使用控件一直是件让我头痛的事件,从控件的创建到控件的操作管理,都得写一大堆代码,相比于Delphi/VB,实在是麻烦多了。其实在之前学习SDK的时候,就有想过专门花点儿时间来学习VC中控件的使...
  • ccfxue
  • ccfxue
  • 2016年07月23日 10:41
  • 648

Linux和Windows下Socket句柄(描述符)的分配策略

烽驿2009开源实时通信平台 源码获取:svn checkout http://fy2009.googlecode.com/svn/trunk/ fy2009-read-only 大型通信...
  • abcd1f2
  • abcd1f2
  • 2015年01月08日 11:51
  • 998

大数据量下的ListCtrl

在windows程序开发中,如果使用了List显示数据,但是目标数据量很大,List性能就会变得很慢,刷新一次需要几秒甚至几十秒的时间,若解决此问题,可使用VirtualList技术 - 即带LVS_...
  • wcyoot
  • wcyoot
  • 2014年06月21日 20:33
  • 3229

ListCtrl控件数据动态修改(List_Control)

vc6.0中ListCtrl控件数据动态修改(List_Control),在code projec 有个外国人写过一篇文章,是利用一个文本框实现,思路是: 将文本框设置成无边框性质,编辑之前文本框是不...
  • yinbinglengyue
  • yinbinglengyue
  • 2013年11月19日 09:10
  • 2497

自绘ListCtrl -- 设置行高

以下是通过重载DramItem()方法来实现自绘, 故需要设置ListCtrl控件属性"Owner DrawFixed"为TRUE,"Owner Data"为FALSE(默认为FLASE...
  • sky101010ws
  • sky101010ws
  • 2016年06月15日 10:31
  • 949

改变ListCtrl某行的背景色或者字体颜色

大家也许熟悉WM_NOTIFY,控件通过WM_NOTIFY向父窗口发送消息。在WM_NOTIFY消息体中,部分控件会发送NM_CUSTOMDRAW告诉父窗口自己需要绘图。 也可以反射NM_CUS...
  • cbNotes
  • cbNotes
  • 2014年08月28日 10:51
  • 4274

VC 双击编辑ListControl中的数据

最近在拿一些小的项目练习MFC,遇到不少问题,期中之一便是修改列表框中的数据,查阅了一些资料,总结了一些方法,把期中最简单方便的一种方法在这里做简单介绍。 想要双击实现修改列表框内容,只需四步: ...
  • lx624909677
  • lx624909677
  • 2013年12月26日 21:24
  • 8251

system调用导致子进程socket句柄泄漏问题分析

 问题引出:A进程与B进程各自独立,都是服务器进程,常驻系统,互不相干。在某次重启A进程后,发现由于固定监听的端口被占用而无法启动。检查,发现是B进程占用了该端口,检查B进程代码,没有相关的打开...
  • zhangrui_fslib_org
  • zhangrui_fslib_org
  • 2015年12月10日 12:20
  • 933
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在VC中使用ListCtrl保存上线主机SOCKET句柄
举报原因:
原因补充:

(最多只允许输入30个字)