有一程序,上放ServerSocket控件,参数设置正常。与车载设备B204通过Socket通信,但时,当我使用ServerSocket.receivetext方法时,收到报文不对,每次收到的内容都在递长。而且,我想问一下,如果我将ServerSocket设置为stThreadBlock方式,是不是ClientSocket也要设置,但是,现在的终端仅仅是一台车载终端啊。
请大家多多帮忙!

解决方案 »

  1.   

    两者都设置成stThreadBlock试一试
      

  2.   

    一般服务端设置成多线程阻塞方式,客户端采用单线程阻塞方式,程序要好写些。
    即ServerSocket设置成stThreadBlock,ClientSocket设置成stBlock,早的d6或d7下一般不会出现每次收到的内容都在递长这种现象,d5我没试过。
      

  3.   

    多谢各位的帮忙,现在程序在运行一两个小时后,会出现这个错误:'Asynchronus socket error'.我的Serversocket是用的stnobocking方式,问题是不是出在这里啊.如果是,该如何解决,将ServerSocket设置成stthreadblocking的方式,自定义clientexecute,但是在执行serversocket.active := false时,出现未找到句柄的错误。该如何解决?
      

  4.   

    在出现'Asynchronus socket error'错误时好象是服务器端的端口被重值,也就是被关闭了.