首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

c# socket数据流处理,该怎么处理

2012-06-13 
c# socket数据流处理socket传回来的数据中 1,a,a,a,a,s,d,weq,we,e,e,r,这个是第一条数据,第二条数据d,

c# socket数据流处理
socket传回来的数据中 <1,a,a,a,a,s,d,we><q,we,e,e,r,
这个是第一条数据,第二条数据d,d,e,f,c,><ahheiuheikuhfkhkn每一条数据是以<>开头和结束的
我怎么把每条数据都完整的拿出来像 数据1.<1,a,a,a,a,s,d,we> 数据2.<q,we,e,e,r,d,d,e,f,c,>
然后每条数据保存起来

[解决办法]
手上没有代码 ,只能提供下思路 其实很简单。。如果你不要知道被分的词的含义的话。

其实也不需要独立的线程来负责解析

你可以当每接收到新的数据向缓冲区附加之后,来触发试解析功能 ,匹配成功,则获取匹配的内从,并冲缓冲区移除,如果缓冲区不为空,继续试解析,无法解析则停止。等待下次附加数据时触发解析。。

基本上就这样
[解决办法]

C# code
            string source = "<1,a,a,a,a,s,d,we><q,we,e,e,r,>";            Regex reg = new Regex(@"(?<=<)[\s\S]*?(?=>)");            foreach (Match m in mc)            {                MessageBox.Show(m.Value);                //MessageBox.Show(m.Groups["value1"].Value);                //MessageBox.Show(m.Groups["value2"].Value);            }
[解决办法]
就是用正则表达式匹配。个人认为也不需要用单独的线程了吧,每接受一次,就匹配,直到匹配不上就等待下次接收

热点排行