现在我在做一个PDA中eVB开发的客户端和PC中VB开发的服务端进行通讯,主要是使用winsock进行操作,现在遇到两个问题。
1、我每一次从PDA传送一个字符串到PC上,接收数据的时候确不是一次性收下来的,比如"[hello]world"字符串,经常是第一次接收到"["然后后面的整个下来,那么,要如何判断一次传输结束了呢?不知道是否有好的办法,我的每一次传输的内容都不大,在8K之内的。
2、我传送的字符串中含有中文,但是,从PDA传输到PC的服务器端就出现了乱码,这样该如何解决呢,看了很多关于winsock资料,还是不得其解,有帖子说用byte数组,嗯,不知有没有谁有过这个经验,可否给点稍微详细的思路和过程。
非常感谢。

解决方案 »

  1.   

    1。发送前先告知接收方总长度,开始发送后,接收方统计收到的长度,总和等于总长度的时候说明完成了。
    2。你试试发送之前strconv(string,vbfromunicode),然后接收方接收后strconv(string,vbtounicode)
      

  2.   

    嗯,对于第二个问题,似乎strconv(string,vbtounicode)中vbtounicode好像是没有的哦,应该是vbunicode吧,对于这个方法的好坏现在还在测试之中。希望能够有更多的方法。
      

  3.   

    to:rappercn(rapper)
    很可惜,evb不支持strconv方法,所以,这个方法行不通了
    看来得想另外的办法。
      

  4.   

    关于vbtounicode的问题,不好意思,不常用,一时没想起来怎么写:)
    至于evb,没办法,我一点都不懂