大家晚上好。
我在为使用 #include 的 C++ 分配创建 TFTP 客户端时遇到问题
我正在发送 char 缓冲区:
缓冲区={'0','2','f','i','l','e','n','a','m','e','0','o' ,'c','t','e','t','0'};
使用代码:
sendto(sock,buffer,strlen(buffer), 0, (sockaddr *) &serverAddr, sizeof(sockaddr));
但是当我在 WireShark 中查看此传输时,当我查看数据包的操作码部分时,它会显示“操作码:未知 (12338)”。即使它已经从字符串中选择了操作码
我完全被困住了,任何帮助将不胜感激。我很确定如果我可以发送和接收消息,我可以很容易地处理其余的。
只是在这里丢下我所做的,但标记的答案基本上是它 使用了来自 winsock2 的 BYTE(不知道我是否需要,但安全总比抱歉好)
缓冲区={(BYTE)0,(BYTE)2,'f','i','l','e','n','a','m','e',(BYTE)0, 'o','c','t','e','t',(BYTE)0};
和
sendto(sock,buffer,sizeof(buffer), 0, (sockaddr *) &serverAddr, sizeof(sockaddr));