Unity,Socket发送消息字符串问题

本文记录了一个关于使用Socket发送和接收字符串时出现的问题及解决方法。问题表现为发送端发送的字符串与接收端接收到的字符串不一致,原因在于接收端设置的字节数组长度过大,导致未使用的部分填充了空字符。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自己使用socket的时候遇到的一点小问题,记录一下,如果理解有误,欢迎指正!!!

问题描述:发送前的字符串为正常字符串,但是另一端接收到后如果用字符串进行判断的话就会发现字符串判断不相等 

用测试工具创建服务器端,手写客户端,如果客户端收到消息则直接打印出来消息和长度

结果发现长度不对,发送的"ABC"结果长度为1024 

后来通过测试发现原因是客户端接收字符串的byte数组长度问题,因为创建的时候是创建的1024个长度

 

打印下标4的时候并没有越界,代表内存是存在的,通过调试发现除了实际接收到的字符串之外,后面接的都是"\0",所以如果想要通过原字符串比对收到的字符串的话,则需要做好字符串分割就好了。 

虽然是小问题,但是不注意的话还是很麻烦的~ 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值