我是应用程序开发方面的初学者。
到目前为止,我已经用C#开发了一个点对点游戏BattleShips,用Java语言开发了一个点对点游戏Connect4。
对于我的下一个项目,我决定使用多媒体。
我想实现一个点对点聊天程序,使用音频/视频流的每个客户端,以及文本聊天,也可能是文件传输。我想用C#实现它。
我的问题是应该从哪里开始?
我已经阅读了SO和其他各种来源,但由于我缺乏经验,它仍然被证明是神秘的。
任何新手级别的技巧都是最受欢迎的,比如寻找相对容易理解的教程。
发布于 2010-07-09 05:24:12
看看Jabber (XMPP) -它是专门为您描述的任务而设计的。Jabber-net是一个有用的.NET库。仅供参考,Google IM使用Jabber构建了一组视频聊天扩展,称为Jingle (也是开源的)
发布于 2010-07-09 06:15:50
这里有一个非常高的级别:
对于语音聊天,我会使用用于麦克风的direct x音频驱动程序来捕获语音数据,然后将其流式传输到另一台计算机(UDP包,但使用Beej的[http://beej.us/guide/bgnet/]指南概述网络)
这是一个很好的入门教程和代码:http://www.codeproject.com/KB/audio-video/VoiceChatApplicationInCS.aspx?msg=2193667
这与网络摄像头的想法类似,不同的是,你不是发送音频数据,而是传输一系列图像。Direct X SDK中应该有一个用于此的库(直接显示?)这将为一系列网络摄像头提供一个通用的api,但在数据的最后,你将从一台计算机上获得数据,并以音频和视频格式对其进行编码、流传输和解码。
祝好运!
发布于 2010-07-09 05:43:30
如果您想要在C#中使用原始套接字编写自己的协议,则需要熟悉您的网络协议。首先查看如何向端口发送文本消息,以及如何读取端口上发送的任何内容并将其显示在屏幕上。
您需要有一个简单的控制台应用程序,它可以无限地侦听端口(充当您的服务器),另一个简单的控制台应用程序将发送消息到您指定的端口
这应该会给你一些开始的东西。然后你可以为视频流修改你的代码(困难得多)
https://stackoverflow.com/questions/3208075
复制相似问题