自己使用socket的时候遇到的一点小问题,记录一下,如果理解有误,欢迎指正!!!
问题描述:发送前的字符串为正常字符串,但是另一端接收到后如果用字符串进行判断的话就会发现字符串判断不相等
用测试工具创建服务器端,手写客户端,如果客户端收到消息则直接打印出来消息和长度
结果发现长度不对,发送的"ABC"结果长度为1024
后来通过测试发现原因是客户端接收字符串的byte数组长度问题,因为创建的时候是创建的1024个长度
打印下标4的时候并没有越界,代表内存是存在的,通过调试发现除了实际接收到的字符串之外,后面接的都是"\0",所以如果想要通过原字符串比对收到的字符串的话,则需要做好字符串分割就好了。
虽然是小问题,但是不注意的话还是很麻烦的~