java的socket客户端能连接到c++的服务器端,但是收不到c++服务器端的数据
2个回答
展开全部
这个你要具体的调试才能解决问题,光靠这几个字没有人能断定错误原因 ,我做过一个小项目 ,是用C#写的服务端,应该跟C++写的服务端一样的,毕竟都是微软的,我在项目里用C#写的程序连接没一点问题,用java就不行了,刚开始也是能连接到服务端但是收不到正确的数据,后来才发现是由于Unicode的编码问题,C#的服务端和JAVA客户端的编码方式 刚好是高8位和低8位对调了,你在调试的时候注意跟踪一下,看是不是同样的原因。如果是这个原因 ,只要把收到的字节进行还原了,希望我的经验 可以帮助到你。
追问
我确实没有注意过编码,单纯发送字符串也要注意这些么?
追答
是的,同一个字符串里每个字符 ,在Unicode里都 分高8位和低8位,当然ANSI是没这个问题,这个顺序一变,每个字符都不识别了,更不说字符串了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询