opengl 应用程序从套接字连接监听/接收数据? [关闭]

Posted

技术标签:

【中文标题】opengl 应用程序从套接字连接监听/接收数据? [关闭]【英文标题】:opengl application listening/recieving data from a socket connection? [closed] 【发布时间】:2012-03-20 20:26:12 【问题描述】:

我希望使用套接字连接将数据从 iPhone 应用程序发送到桌面 OpenGL 应用程序。例如纹理的位置,

我在桌面上运行了 OpenGL 应用程序。 还有一个单独的用于桌面和 iPhone 的套接字应用程序,我可以在其中发送/接收数据。

但我不确定如何组合桌面的套接字应用程序和 OpenGL 应用程序。

桌面OpenGL应用只能接收一次数据,然后进入glutMainLoop()

【问题讨论】:

看看这个。它与套接字无关,因此我不会将其作为答案发布,但您可以在 glutMainLoop() 执行时调用其他函数。 kanersan.com/myfiles/Volcano.cpp 【参考方案1】:

桌面opengl应用只能接收一次数据,然后进入glutMainLoop()。

那是因为你是这样写的。您的应用程序完全按照您告诉它的方式执行。您将“从套接字获取数据”代码放在主循环之外。

您可以使用glutTimerFunc 简单地设置定时器功能。在该函数中,您检查是否还有更多数据,如果有,则将其存储并调用glutPostRedisplay 以使 GLUT 再次调用其显示方法。

就我个人而言,我建议避免在这种需要控制主循环的应用程序中使用 GLUT。 GLFW 对您来说会更有用,因为在渲染帧后只需检查套接字以查看是否有新数据会更容易。您甚至可能想要一个线程解决方案,尽管对于像这样的简单案例来说这有点多。

【讨论】:

以上是关于opengl 应用程序从套接字连接监听/接收数据? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

作为服务运行时,Windows 不接受套接字连接

套接字及通信

套接字编程3(tcp)

24UDP通信

在 iPhone 上侦听 CocoaASyncSocket 接收连接但新套接字不调用委托

36基于TCPUDP协议的嵌套字通信