通过网络传递序列化数据(Passing serialized data over network)
IT问题网 2021-02-23 00:00:00
问 题
嘿,
我在客户端上反序列化一个对象有问题,我已经发送了socket.send,并尝试用socket.begingrecieve接收。
private sub waitfordata()
尝试
如果m_pfncallback什么都没有那么
m_pfncallback =新的asynccallback(addressof ondatareceived)
结束如果
dim thesocpkt as new socketpacket()
thesocpkt.thissocket = m_clientsocket
''开始异步监听数据
m_result = m_clientsocket.beginreceive(thesocpkt.databuffer,0, thesocpkt.databuffer.length,socketflags.none,m_pfncallback,thesocpkt)
catch se as socketexception
messagebox.show(se.message)
end try
end sub
private sub ondatareceived(byval asyn as iasyncresult)
尝试
dim thesockid作为socketpacket = directcast(asyn.asyn) cstate,socketpacket)
dim totalbytestoread as integer = thesockid.thissocket.endreceive(asyn)
''我如何到达服务器发送的所有字节?
dim bytearr()as byte =''序列化对象的所有字节
dim obj as object
obj = deserialize(bytearr)
waitfordata()
catch generatedexceptionname as objectdisposedexception
system.diagnostics.debugger.log(0,"1",vblfamp;"ondatareceived:socket已关闭"amp; vblf)
catch se as socketexception
messagebox.show(se.message)
结束尝试
结束子
谢谢。
解决方案
看一下我的文章 wcf杀手。
它在c#中,但它会做你想要的,你不必调试它。
分享:
热门推荐