c# socket数据流处理

wzancyp 2012-05-04 10:35:05
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,>
然后每条数据保存起来
...全文
337 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
wzancyp 2012-05-07
  • 打赏
  • 举报
回复
那位有代码的啊 请发个代码看看啊
wzancyp 2012-05-04
  • 打赏
  • 举报
回复
解释一下 不懂啊
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);
}
bdmh 2012-05-04
  • 打赏
  • 举报
回复

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);
}
wzancyp 2012-05-04
  • 打赏
  • 举报
回复
概念有了啊 可是还是要看下代码 谁有代码的啊
saybookcat 2012-05-04
  • 打赏
  • 举报
回复
手上没有代码 ,只能提供下思路 其实很简单。。如果你不要知道被分的词的含义的话。

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

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

基本上就这样
wzancyp 2012-05-04
  • 打赏
  • 举报
回复
可以给个代码吗 要详细一点的越详细越好
saybookcat 2012-05-04
  • 打赏
  • 举报
回复
接收的数据全部放到一个独立的缓冲区中,再用一个线程专门负责从该缓冲区中匹配数据,匹配成功获取匹配的数据,并移除缓冲区中被匹配的数据 。
wzancyp 2012-05-04
  • 打赏
  • 举报
回复
能给详细代码吗 现在理念有了 就是不知道代码怎么实现
saybookcat 2012-05-04
  • 打赏
  • 举报
回复
写解析器即时解析缓冲区,加正则表达式分词。
wzancyp 2012-05-04
  • 打赏
  • 举报
回复
那怎么弄啊 我对正则不怎么了解 希望给详细代码啊
sen2010 2012-05-04
  • 打赏
  • 举报
回复
就是用正则表达式匹配。个人认为也不需要用单独的线程了吧,每接受一次,就匹配,直到匹配不上就等待下次接收
wzancyp 2012-05-04
  • 打赏
  • 举报
回复
那位大大给个详细代码啊 谢谢啊

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧