MFC网络编程,想通过GetSockName函数获取某个客户端的IP地址,不知道参数怎么用

MFC网络编程,想通过GetSockName函数获取某个客户端的IP地址,不知道参数怎么用,第1张

可以使用这个实现。

BOOL GetSockName(

CString& rSocketAddress,

UINT& rSocketPort

);

可以使用 inet_addr得到IP地址字符串对应的int。

另一个实现中的数据结构:

struct sockaddr {

ushort sa_family;

char sa_data[14];

};

实际上等同于如下架构,可以强制转换使用的。

struct sockaddr_in {

short sin_family;

u_short sin_port;

struct in_addr sin_addr;

char sin_zero[8];

};

其中sin_addr是一个union

typedef struct in_addr {

union {

struct { UCHAR s_b1,s_b2,s_b3,s_b4; } S_un_b;

struct { USHORT s_w1,s_w2; } S_un_w;

ULONG S_addr;

} S_un;

} IN_ADDR, PIN_ADDR, FAR LPIN_ADDR;

我们一般用S_addr,这个就是IP地址,可以使用inet_ntoa得到对应字符串

我在原来的问题里也回答你了,记得采纳哦

ysdoc的回答不对的,因为GetSockName的值是输出,不是输入,所以不需要用recvfrom去获取。

在对话框 上 拖放一个List Control 控件 ID为 ID_LIST1

更改属性 样式为:Report(报表) 模式//切记这里

为ID_LIST1添加控件变量:CListCtrl m_list;

在适当位置(如对话框的初始化函数里)添加初始化代码:

m_listSetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);//(1)

m_listInsertColumn(1,"用户名",LVCFMT_CENTER,100);//(2)

m_listInsertColumn(1,"工作组",LVCFMT_CENTER,150);//(3)

m_listInsertColumn(2,"主机名",LVCFMT_CENTER,100);//

m_listInsertColumn(3,"IP地址",LVCFMT_CENTER,100);//

解释:(1)句的作用是:使列表整栏选择。

(2)句的作用是添加一个列,LVCFMT_CENTER意思是居中对齐,100是宽度

你可能问 为什么 第一个参数 和 (3)句都是1呢 ,(2)句应该是0啊?是的,应该是0,但是使用0后LVCFMT_CENTER就不起作用了,不信你看看,说明的是 如果没有0列,那么1列补上 但是 如果是 两个2,那么第二个2就真的第3列,第一个2就成了第四列,你自己做个实验就知道了。

然后在适当位置 如得到信息后

使用:

m_listInsertItem(0,"张三");// (6)注意这个函数

m_listSetItemText(0,1,"四号工作组");//(7)

m_listSetItemText(0,2,"lenovo0001");//(8)

m_listSetItemText(0,3,"1921681055");

解释:(6)句中第一个参数 为0表示 添加到 第一条记录,1代表第二条记录 类推,

(7)句 中的第一个参数是 设置 文本,第一个参数 是与之对应的 记录行

我可以帮助你,你先设置我最佳答案后,我百度Hii教你。你的串号我已经记下,采纳后我会帮你制作

listen()监听

accept()接收链接请求

访问客户端地址信息结构体client

clientsin_addr中储存客户端的ip地址

再转换格式就行了

1)通过代码手动添加: addrinfo aiList = NULL; char aHost[MAX_MFC中的IP地址控件是由CIPAddressCtrl类封装的。你可以研究一下他的成员函数。

以上就是关于MFC网络编程,想通过GetSockName函数获取某个客户端的IP地址,不知道参数怎么用全部的内容,包括:MFC网络编程,想通过GetSockName函数获取某个客户端的IP地址,不知道参数怎么用、VC中IP地址控件的使用、MFC关于读取客户端IP等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9596185.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存