关于Flash中的XMLSocket与C#服务端Socket通信时,从服务端接收到的内容存在过长空字符的问题

zhaoguo2007 2009-01-02 03:00:26
我先说下问题的关键: 目前是Flash客户端的XMLSocket与C#服务端的Socket是能正常通信的,问题出在如果我把服务端监听接收内容的缓存区设置过大(比如Byte[] buffer = new Byte[1024])的时候,回传给Flash客户端的XMLSocket的内容后面就会跟好多空字符串,现在就想请问下如果从客户端发送到服务端的内容的bits数远小于服务端缓存区设置的大小的时候如何在回传到客户端时将多余的空字符过滤掉...

function OnData(src) {
// 比如这里是接收服务器回传的函数,我从客户端输入一串字符'abcdefg'那么从服务端返回来的字符串就是'abcdefg'+n个空字符串(这些字符串感觉像是空格或者\n甚至是\r),这些字符串我自己感觉是由于我输入的'abcdefg'远比服务端的Byte[] buffer = new Byte[1024]小,而在从服务端返回到可户端的数据过程中将把这1024bits的缓存区用空字符串补满.这些空字符串会严重影响效率,因为每次回传来的内容后面都跟了N长的空字符串,当把回传内容写入到显示内容空件时会严重感到很卡的感觉...

trace(src)
strArray = src.split('|');
temp = strArray[0];
//trace(strArray.length+'\t'+strArray);
smgText.text += strArray + '\n'
}


我这样说不知道大家能明白我想问的内容不...小弟在线狂等,希望有这方面经验的朋友帮下忙!100分送上!!!
...全文
176 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaoguo2007 2009-01-06
  • 打赏
  • 举报
回复
问题解决了...在ActionScript里的onData事件里对回传的参数进行为空判断...如果回传的参数为空就不返回...就搞定了...哈哈
function OnData(src){
if(src!="")
{
returnToWeb(src);
}
}
Jave.Lin 2009-01-03
  • 打赏
  • 举报
回复
搞错了。我在三楼里写错一个地方了。

第二次接的应该是"Second_order\n3456789\n";
第一次接的不变: "char\nTony\n123456789\n";
Jave.Lin 2009-01-03
  • 打赏
  • 举报
回复
楼主要对Flash主C#的通信。
但必须对Flash和C#有一定的了解。

真iua羡慕呢。

Flash我也挺喜欢的。
不过就是没学过ActionScript。

而我是软件技术专业的。
现在连学校里的课程都还忙不过来呢。呵呵。
何况学上Flash,还要理解ActionScript
Jave.Lin 2009-01-03
  • 打赏
  • 举报
回复
我也遇到和楼主一个的问题

我也写了一个C/S的聊天室。

就是接收到的byte[] 将其GetString()之后。打断点时,可以看到有很多"\0\0\0\0\0...."的空格。

我也不知道怎么弄。期待。

我还遇到一个问题。不知道楼主没有遇到过这样的问题。

NetWorkStream对象,的使用痕迹问题。

我的提问问题中有提到过。

假如第一次你发"char\nTony\n123456789\n"
那么服务端接的就是"char\nTony\n123456789\n"
但第二次再发送之后。就出问题了。
如:第二次发:"Second_order\n"

那服务端接就是变成了"Second_order123456789\n"

把第一次和第二次再列一次给你看看对比。就是会有上一次的使用多位的补上的问题。
第一次:"char\nTony\n123456789\n"
第二次:"Second_order123456789\n"
cwblaze 2009-01-03
  • 打赏
  • 举报
回复
呵呵,老兄还在做那个网页游戏啊?

和我想得一样,用FLASH来传。
我以前有种解决方案,在传输协议前加一段数据A,这个数据记录该数据长度。服务器端或是客户端接受数据时,首先还是分配大数组。然后读取头数据A这么长度的数据。

genius_tong 2009-01-03
  • 打赏
  • 举报
回复
不懂,只好帮顶一下~

111,130

社区成员

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

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

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