最近一直在数据转发问题,在工作的过程中碰到了一个令我非常头痛的问题,当我用函数sendto发送数据(例如sddaaa)时,可是在接收端有recvfrom接收数据,接收的数据居然是H<>,不明白了,不知道到底哪些地方出现问题了?可是recvfrom返回的接收数据的个数是6,为什么打印出来的是乱码呢?百思不得其解啊!
直接贴代码,想问题:
char *comemessage= new char[256];
int iread1 = recvfrom(PrimaryUDP, comemessage, 256, 0, (sockaddr *)&sender, &dwSender);
//这里接收数据正常
comemessage[iread1-1] = '\0';
if(iread1<=0)
throw Exception("Recv Message Error\n");
else
{
printf("forward a Message:%s\n",comemessage);
//char comemessage1[256];
//strcpy(comemessage1,comemessage);
isend = sendto(PrimaryUDP, (const char *)&comemessage1, strlen(comemessage), 0, (const sockaddr*)&remote, size