分享

Socket传输的问题

 andy77 2010-06-10
Q:
   测试机进行socket交互时,可以正常返回信息;在生产机和本地pc机上交互时,总会超时。
A:
   测试机的编码是ISO-8859-1,本地pc机和生产机的编码都是GBK,数据交互是用byte进行传输的,最后四位进行字符转换时总是乱码
   修改前是用PrintOutStream.println(String),传输到服务器的,因为传入的参数后四位转码时只能操作系统的环境编码有关系,所以
   在GBK环境无论怎么转码都不能成功。
   修改后用OutputStream out = Socket.getOutputStream();取得输出流,再用out.write(byte[])的方法把byte数组传到服务器
   用InputStream in = Socket.getInputStream(); 取得输入流,用in.read(byte[],int,int)的方法读取服务器返回的数据,执行完read后
   byte数组存放的就是服务器返回的数据字符
   
 Anyway:
   在进行socket调试接口时,尽量采用用byte[]传输数据的方式。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多