一直用winform我也曾被silverlight坑过

初中语文学习 120 2023-03-02 04:37:42

我一直用winform,之前用vb,也曾经被silverlight坑过,后来自己做程序都用winform。wpf用avalonia可以跨平台,不过默认界面奇丑,被mfc坑过,也搞过wpf,要有更好的Windows方向我还是会继续学习的,感觉不喜欢wpf的xaml什么的。真要画点东西大不了重写onpaint,直接gdi画也没什么压力。

mfc 学习

非阻塞:只在不能立即得到结果之前,该函数不会阻塞当前进程,而会立刻返回。阻塞:指调用结果返回之前,当前调用所在进程会被挂起。异步:当一个异步过程调用发出后,调用者不能立即得到结果时可以处理其他事情,不必须等待结果返回之后再处理后续事情。一Socket工作模式及MFC网络编程与开发1.Socket工作模式(1)名词的概念同步:在发出一个功能调用时,没有得到结果之前,该调用不会返回。

mfc 学习

send()函数发送的数据是char型,不是CString型。(猜测)连接套接字用于接收客户端网络地址信息和收发信息。服务端套接字用于绑定本机IP和端口号等本地网络地址信息和监听是否有客户端的套接字发出链接申请。用这个模式的好处就是不必一直等待,提高程序运行效率,只有select()函数监听到套接字有数据才进行接收,recv()函数就不会阻塞。

mfc 学习

多线程服务端应用select模式,需要用到三个套接字,一个是服务端套接字,一个是连接套接字。自定义的消息函数,形式如下:LRESULTxxx(WPARAMwParam,LPARAMlParam);创建套接字函数socket()是阻塞模式的。ON_MESSAGE(WM_DEFMSG,xxx)(xxx为函数名)第三步在刚才做消息映射的.cpp文件对应的.h文件中定义消息函数(一般是在类中定义)。

mfc 学习

自定义消息:首先先定义一个消息值(消息本身是一个值,而且可以自带参数)。解决多线程中,socket接收到数据向窗口显示可用MFC消息机制。UpdateData()函数在窗口界面的类里调用才有效,也即是窗口程序中的主线程中才有效,用于更新当前的窗口,而线程没有这个功能。如果编辑框关联了相关变量,那么可以直接调用UpdateDdata()函数,但是在多线程中该函数无法使用。

当然也会自己写shader,粒子等,去调各种想要的效果。现在又换成了后端用nodejs,前端使用vue框架,三维用unity3d,但随着公司的发展,技术的迭代更新又写了一段时间的c#,wpf。我最开始搞cmfc,我是一个有十年工作经验的程序员,现在空了就将自己的可视化作品发布上来,希望和大家一起交流,互相学习。大屏可视化,基于unityvue完成。