2
我努力通過UDP
目前發送一些值。發送大量值在一個charArray
主要問題是我有很多值。 如果我自己發送每個值,它工作得很好。
char imu_x[16];
char imu_y[16];
char imu_z[16];
char mag_x[16];
char mag_y[16];
char mag_z[16];
char g_y[16];
char g_p[16];
char g_r[16];
char tmp[16];
char prs[16];
char ti[16];
char Motor1[16];
char Motor2[16];
char Motor3[16];
char Motor4[16];
//Timestamp
sendto(clientSocket,ti,sizeof(ti),0,(struct sockaddr *)&serverAdress,addressSize);
//acceleration data
sendto(clientSocket,imu_x,accx,0,(struct sockaddr *)&serverAdress,addressSize);
sendto(clientSocket,imu_y,accy,0,(struct sockaddr *)&serverAdress,addressSize);
sendto(clientSocket,imu_z,accz,0,(struct sockaddr *)&serverAdress,addressSize);
//Mag data
sendto(clientSocket,mag_x,magx,0,(struct sockaddr *)&serverAdress,addressSize);
sendto(clientSocket,mag_y,magy,0,(struct sockaddr *)&serverAdress,addressSize);
sendto(clientSocket,mag_z,magz,0,(struct sockaddr *)&serverAdress,addressSize);
//Gyro Data
sendto(clientSocket,g_y,gy,0,(struct sockaddr *)&serverAdress,addressSize);
sendto(clientSocket,g_p,gp,0,(struct sockaddr *)&serverAdress,addressSize);
sendto(clientSocket,g_r,gr,0,(struct sockaddr *)&serverAdress,addressSize);
//Temperature and Pressure
sendto(clientSocket,tmp,temp,0,(struct sockaddr *)&serverAdress,addressSize);
sendto(clientSocket,prs,press,0,(struct sockaddr *)&serverAdress,addressSize);
// Motor Data
sendto(clientSocket,Motor1,m1,0,(struct sockaddr *)&serverAdress,addressSize);
sendto(clientSocket,Motor2,m2,0,(struct sockaddr *)&serverAdress,addressSize);
sendto(clientSocket,Motor3,m3,0,(struct sockaddr *)&serverAdress,addressSize);
sendto(clientSocket,Motor4,m4,0,(struct sockaddr *)&serverAdress,addressSize);
這些是發送呼叫。
有沒有可能將它們「合併」爲一個發送呼叫?
我已經嘗試過使用strcat
但我的char
緩衝區剛剛溢出,循環終止。
如果有人知道的解決方案,我將非常高興,如果你能和我
有一個愉快的週末分享=)
更好地顯示不起作用的代碼。你發佈了一些不完整的代碼,你說,工作。 –