我希望对以下内容有所帮助.这与异步套接字有关.
来自发件人:
string stringData = "Welcome to my server server server";
byte[] message1 = Encoding.ASCII.GetBytes(stringData);
//MessageBox.Show(message1.Length.ToString());
client.BeginSend(message1, 0, message1.Length, SocketFlags.None, new AsyncCallback(SendData), client);
Run Code Online (Sandbox Code Playgroud)
在这里可以看到,可以找到message.length.
-
在客户端:
Socket remote = (Socket)iar.AsyncState;
int recv = remote.EndReceive(iar);
string stringData = Encoding.ASCII.GetString(data, 0, recv);
Run Code Online (Sandbox Code Playgroud)
我的问题是有没有办法访问发送数据的实际长度,并根据该调用接收数据,直到收到完整的消息?
在我的项目中,我让用户使用FileReference类选择图片.然后我使用load()函数将这些图片加载到他们的.data属性中.在此之后,我执行一些本地操作并将它们发送到服务器.
我想做的是,能够再次遍历挑选的FileReferences,将它们加载到.data属性中,执行不同的操作并再次将它们发送到服务器.我知道我应该可以从用户调用的事件中执行此操作,这不是问题.
问题是,一旦第一次加载FileReference,我无法以任何方式卸载它,并且我无法保存内存中所有图片的数据,因为这些是巨大的.
所以我想我只能做一件事,就是在FileReference上执行DeepCopy ......然后我可以加载第一个版本,废弃它并使用副本进行第二次"运行".
我试图使用ObjectUtil.copy,但是当我访问副本的例如.name属性时,它失败了:
Error #2037: Functions called in incorrect sequence, or earlier call was unsuccessful.
Run Code Online (Sandbox Code Playgroud)
在flash.net::FileReference/get name()
相关片段:
registerClassAlias("FileReference",FileReference);
masterFileList.addItem(FileReference(ObjectUtil.copy(fr_load.fileList[i])));
trace(masterFileList[i].name)
Run Code Online (Sandbox Code Playgroud)
是否有一些FileReference类的受保护属性阻止它被复制?如果是这样,我可以以某种方式回避这个问题吗?或者我的整体问题还有其他解决方案吗?
我很欣赏任何提示/想法!
apache-flex actionscript deep-copy actionscript-3 filereference
目前我正在开发新的App Engine应用程序.
不幸的是,即使对于相对较小的用户数,我的应用程序似乎也使用了大量资源.所以我需要确定它的瓶颈并优化它们.
我必须在没有消息定义的情况下将protobuf消息的消息结构传送给我.使用UnknownFieldSet方法,我能够获得消息的字符串表示,如下所示:
1: "a"
2: {
3:"b"
4:"c"
}
Run Code Online (Sandbox Code Playgroud)
字段2代表什么数据结构?使用UnknownFieldSet.Field.getGroupList我能够获得字段3和4的内容,这是否意味着字段2具有"已弃用"的组结构?
试图结合ccache和colorgcc.以下链接文字:
运行g ++ --version时接收:
Can't exec "ccache /usr/bin/gcc": No such file or directory at /usr/lib/perl5/5.8.8/IPC/Open3.pm line 246.
open3: exec of ccache /usr/bin/gcc --version failed at /usr/local/bin/colorgcc/gcc line 208
Run Code Online (Sandbox Code Playgroud)
任何想法如何解决?
在Python中,通过生成器表达式创建生成器对象与使用yield语句之间有什么区别吗?
使用产量:
def Generator(x, y):
for i in xrange(x):
for j in xrange(y):
yield(i, j)
Run Code Online (Sandbox Code Playgroud)
使用生成器表达:
def Generator(x, y):
return ((i, j) for i in xrange(x) for j in xrange(y))
Run Code Online (Sandbox Code Playgroud)
这两个函数都返回生成元组的生成器对象,例如(0,0),(0,1)等.
一个或另一个的任何优点?思考?
谢谢大家!这些答案中有很多很棒的信息和进一步的参考资料!
我想知道是否有办法在Android中以编程方式阅读手机模型.
我想得到像HTC Dream,Milestone,Sapphire或其他任何东西......
为了优化瓶颈,我将大型NSArray的创建转换为c风格的数组.(由此产生的创作是原始NSArray版本的1/8.是的!)但是一旦它被创建,速度不再是一个问题,所以我宁愿再次受益于它是一个NSArray.
然而,将c风格的数组转换为NSArray似乎是荒谬的(除非我缺少一些神奇的initWithArrayWrapElementsInObjects方法.)
正如我现在理解的那样,我首先必须创建一个NSMutableArray,迭代通过c样式数组将每个元素(在我的情况下浮动)转换为对象,将每个对象添加到NSMutableArray,然后使用NSMutableArray创建NSArray.
是对的吗?必须有一个更好的方法.
并且将不胜感激.
谢谢!
我有这个代码:
package math;
import java.io.IOException;
import java.util.Scanner;
public class Main
{
public static void main(String[] args) throws IOException
{
System.out.println("Hi, I will beat Java's Math.sqrt(double) method");
System.out.println("Both ways of calculation will be done");
System.out.println("I will time how long they took to calculate");
System.out.println("Random doubles will be generated");
System.out.println();
System.out.println("Please give the number of sqrt-calculation will be done");
int calcs = new Scanner(System.in).nextInt();
boolean output = true;
if (calcs > 10000)
{
System.out.println("You're asking much calculations");
System.out.println("Disabling output is recommend");
System.out.println("Disable …Run Code Online (Sandbox Code Playgroud) java ×3
python ×2
actionscript ×1
android ×1
apache-flex ×1
c# ×1
ccache ×1
deep-copy ×1
file-io ×1
gcc ×1
generator ×1
iasyncresult ×1
iphone ×1
math ×1
objective-c ×1
optimization ×1
performance ×1
sockets ×1
sqrt ×1
yield ×1