Man*_*ngh 5 web-application-design
这是我正在参加的编程课程.我符合先决条件,这只是C++的强大知识.
澄清一下:这不应该是桌面应用程序的后端.该网站在浏览器中进行视频聊天,文件发送,文本聊天等功能.
所以我没有网络开发经验.我之前玩过PHP并查看了一本JavaScript书籍并且觉得使用起来很舒服.我知道MySQL是什么以及如何设置表和东西.
我在接下来的8周内需要做的是:
我不知道该用什么来实现这一目标.我有一些想法,但我不确定它们是否真的有效.我被允许使用开源库,程序,代码等来构建这个Web应用程序.
如果有人能指引我朝正确的方向前进,建议我应该如何实现这些功能,我会非常感激.
此外,当我一直在谷歌上搜索如何做这样的事情时,我看到了一个名为CakePHP的东西.你能建议我用这个吗?如果是这样,我究竟应该用它做什么?
你需要很多咖啡!
Skype使用点对点和客户端/服务器方法的混合架构来获取数据.如果这只是在内部LAN上运行,则不必担心中间的服务器,并且可以专注于设置对等连接.
在现实世界中,路由器通过称为NAT的东西隐藏计算机,Skype使用服务器登录并通过NAT设置开放端口.然后Skype将此信息发送给您的其他对等方,并从那里运行对等连接.
在内部网络上,您只需通过开放的UDP端口与其他人通信即可.Skype使用此而不是TCP,因为互联网上的大部分其他通信都依赖于此.基本上,您无法获得可靠的交付,两端的应用程序都适应这一点.(即,当数据包丢失或被破坏时,您的视频会冻结一秒钟)
SKYPE SERVER
/ \
/ \
/ \
/ \
PEER 1 --------- PEER 2
Run Code Online (Sandbox Code Playgroud)
在弄清楚如何通过网络运行之后,您需要学习Windows Image Acquisition API,这是使用网络摄像头获取静态图片的标准方法.你连续拍摄了这张照片和BINGO!你有一个乡巴佬视频流通过网络发送.
我假设MySQL将与PHP发布的SOAP Web服务一起工作,以处理登录和联系人数据库......
你为什么称这是一个Web应用程序?它会在网络浏览器中运行吗?它只是一个网络应用程序,对吧?
还有一条建议......用C#或其他一些.NET语言编程可能会有所帮助,因为你可以使用更多的控件.例如,有一个WIA控件可以轻松地将视频流传输到您的应用程序中.
我认为这些链接可能对您有用:
http://www.codeproject.com/aspnet/webcamimage.asp
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=1339&lngWId=10
另外我建议你使用UDP连接,
并开发一些类似标头的简单原型,
例如标头0x01意味着接下来将是消息结构
0x02,接下来将是帧结构(视频的网络流)等等