日期:2014-05-18  浏览次数:20812 次

客户端和服务端通讯
比如一个客户端要接收服务端发来的一个文字数据流还需要同时接收来自服务端的视频数据流

大概意思是视频聊天那种啦,聊天,视频,俩不误,只是想做个了解,网络通讯c#只是菜鸟级别。

困惑:
客户端开一个进程用netstreamwork.read等待接收来自服务端netstreamwork.write的消息
可是客户端怎么同时用read来接收文字流和视频流呢 服务段又怎么用write写出文字流和视频流呢

我刚看到这些知识点,联想到了这些。希望高手解答下大概思路!谢谢了!



------解决方案--------------------
网络通讯涉及的内容比较多,容易写错,建议用成熟的框架完成.如

supersocket
------解决方案--------------------
协议
自己定数据包区分
------解决方案--------------------
这个要制定通信协议,有包头,包头信息中包含该数据属于哪类,比如数据音频就交给音频线程处理,属于视频,就交个视频线程处理
------解决方案--------------------
一个线程做不了的,你可以开两个线程,头信息必须定义好,以便你区分不同或相同的客户端数据。

如果并发数很多,就不要开线程了。。。。多了你的服务器受不了,用。Net socket的异步机制(。Net类库支持),它基于IOCP技术,是现在windows上效率最高的socket通讯方式了。

IOCP基于高效的线程池技术。