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