您现在的位置是:网站首页> 新闻快讯> 软件使用 新闻快讯

ipmsg

小玉2023-07-05软件使用 202人已围观

简介#每日学习打卡计划#Socket工作模式及MFC网络编程与开发MFC窗口显示更新数据,比如编辑框显示接收数据。如果编辑框关联了相关变量,那么可以

ipmsg

最后更新:2023-07-05 03:21:25

推荐指数

#每日学习打卡计划#Socket工作模式及MFC网络编程与开发MFC窗口显示更新数据,比如编辑框显示接收数据。如果编辑框关联了相关变量,那么可以直接调用UpdateDdata()函数,但是在多线程中该函数无法使用。UpdateData()函数在窗口界面的类里调用才有效,也即是窗口程序中的主线程中才有效,用于更新当前的窗口,而线程没有这个功能。解决多线程中,socket接收到数据向窗口显示可用MFC消息机制。自定义消息:首先先定义一个消息值(消息本身是一个值,而且可以自带参数)。#defineWM_DEFMSGWM_USER+x(x为一个数值)第二步映射,在相应的.cpp文件中的消息映射表中做消息映射。ON_MESSAGE(WM_DEFMSG,xxx)(xxx为函数名)第三步在刚才做消息映射的.cpp文件对应的.h文件中定义消息函数(一般是在类中定义)。自定义的消息函数,形式如下:LRESULTxxx(WPARAMwParam,LPARAMlParam);创建套接字函数socket()是阻塞模式的。多线程服务端应用select模式,需要用到三个套接字,一个是服务端套接字,一个是连接套接字。监听套接字和连接套接字可用FD_SET()函数添加到文件描述符集合中,然后用select()监听套接字中的状态。用这个模式的好处就是不必一直等待,提高程序运行效率,只有select()函数监听到套接字有数据才进行接收,recv()函数就不会阻塞。服务端套接字用于绑定本机IP和端口号等本地网络地址信息和监听是否有客户端的套接字发出链接申请。(猜测)连接套接字用于接收客户端网络地址信息和收发信息。send()函数发送的数据是char型,不是CString型。CString型数据转换为char型可用strcpy(char,CString.GetBuffer(CString.GetLength()));

很赞哦! (0)

文章评论

来说两句吧...

验证码: