当前位置:  技术问答>linux和unix

Windows下的消息循环机制在Unix下如何实现?

    来源: 互联网  发布时间:2015-06-01

    本文导语:  我目前碰到一个项目,把在Windows下的C程序改到Unix下还用C实现 该项目涉及到Socket通信 原来的Windows下的C程序中,采用了Windows的消息循环机制 请问在Unix下有没有类似的机制?或者等价的解决方案? 请教了,各位大虾 ...

我目前碰到一个项目,把在Windows下的C程序改到Unix下还用C实现
该项目涉及到Socket通信
原来的Windows下的C程序中,采用了Windows的消息循环机制
请问在Unix下有没有类似的机制?或者等价的解决方案?
请教了,各位大虾

|
几天前我写了一个UNIX(SCO)Windows下的 Proxy, 用的都是select, 在UNIX下, 辅于fork(); 而在Windows用多线程实现(效率较差, 但为了开发速度). 楼主要改的程序在Windows下是用WSAAsyncSelect实现的吧. 按照楼主的要求, 像前面几位所说的用select是可以实现的.

|
利用UNIX下的SOCKET进程间通讯的原理,充分运用SELECT、线程(如果处理量非常大时,建议用多进程处理)等处理机制可以完成非常复杂的通讯模块或通讯系统。

|
1、把微软的代码移植过来(如果微软愿意给你们代码的话)
2、使用linux中的方法,如gtk或者qt(注意版权问题)
3、自己写,最简单就是一个while循环和一个消息队列实现

|
你的东西需要GUI吗?不用的话,select和while就足够了。

|
select()异步I/O控制

|
我看只有自己写了,就象原始的Windows SDK编程那样,使用一个大的While循环

|
GUI界面:事件循环是都有的,看你用什么开发了,最基本的是XEvent循环。
字符界面:为什么要循环?原来的Windows事件循环是做什么用的?用select/poll之类的。

|
gtk_main()就是进入消息循环,signal_connect就可以接收到消息,
字符界面下,不知道,

|
去www.wxWindows.org看看,你会有新的发现
里面有个类叫做wxAsyncSocket和windows提供的AsyncSocket功能一致
对于MFC程序来说,移植只需要做很少的工作

|
关注,我也做了类似的东西。
用多线程+select+信号。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • unix是事件消息驱动的吗,就像windows一样?
  • 怎样得到一个X Windows下程序运行的消息!
  • 在Linux/Unix里有和Windows里的消息系统对应的东西么?
  • 如何在windows客户端(wensphere MQ 5.3)向linux服务器端发送消息(急)
  • 如何在windows 平台上实现消息队列(多线程环境)
  • java命名空间java.awt.event类keyevent的类成员方法: vk_windows定义及介绍
  • 怎么在Linux下改windows系统文件啊,我把windows的BOOT.INI改了,windows启动不了
  • WinDows8最新版文件夹加密
  • x-windows如何安装在linux(rdehat9)上面呢,是不是x-windows也分windows和linux版本的吗?
  • 修改Windows硬盘分区名称
  • linux和windows串口问题!?linux向windows端发送,第一次write正常,继续write,windows接收到的就变成乱码了,这是什么原因??????
  • windows10玩游戏怎么样?唯一支持DirectX 12的windows
  • java开发知识 iis7站长之家
  • windows/windows 7/windows 8 下打开查看、修改及保存超大(GB级)文本文件及其它类型文件的工具-PilotEdit
  • Linux与windows共存时,如何将Windows设置为默认启动系统?
  • windows下tinyxml.dll下载安装使用(c++解析XML库)
  • 怎样是编好的java application在windows上像windows应用程序一样直接运行
  • Docker宣布支持Windows 10和Azure Windows Server
  • windows 和linux双系统,重装windows后,无法启动linux?
  • win7/Windows7系统下载地址搜集整理
  • 如何将linux的一台机器加入windows 2000的域?并且通过一windows的机器上网?
  • Windows7自带防火墙设置:启动,关闭及高级设置
  • 为什么在安装了WINDOWS和LINUX的电脑上,重装WINDOWS会破坏MBR?
  • IE11设置IE兼容性视图及提升Windows 8.1中IE11兼容性的相关设置
  • Linux + Windows2000 双启动,Windows2000起不来了,说是文件被破坏,进来看看……
  • Windows优化大师最新版 V7.99 Build 12.604发布
  • Linux和Windows2000双系统(为什么Windows2000中打开我的电脑非常慢?)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3