none
直接将对象通过Serialization::Formatters::Binary::BinaryFormatter序列化到NetworkStream时,NetworkStream将不支持异步读写? RRS feed

  • 问题

  • 代码如下,将message对象发送到远程主机:

    System::Net::Sockets::TcpClient^ client = gcnew System::Net::Sockets::TcpClient(ip,port);//远程主机的主机名和端口
    System::Net::Sockets::NetworkStream^ stream = client->GetStream();	
    
    System::Runtime::Serialization::Formatters::Binary::BinaryFormatter ^ c = gcnew System::Runtime::Serialization::Formatters::Binary::BinaryFormatter();
    
    try{
    	c->Serialize(stream,message);
    }
    catch (Exception^) 
    {
    					
    }
    finally{
    	stream->Close();
    	client->Close();
    
    }


    这样是不是不能使用异步模式?

     

    是否可以将message序列化到MemoryStream,然后从MemoryStream读到buffer,再到NetworkStream,同时NetworkStream使用异步读写?


    2011年9月4日 3:55

全部回复