おはよう、UDPソケット(C++)でデータを誤って受信しました
クライアントからサーバーにデータを送信するには、UDP接続を確立する必要があります。私は接続開始フォームをexampleに実装しました。
それから私は私のclient.ccクラスを定義した:
#include <iostream>
#include <string.h>
#include <stdio.h>
#include "udp_client_server.h"
#include "prova.h"
using udp_client_server::udp_client;
#define LDM_IP "127.0.0.1"
#define LDM_PORT 5445 //8000
using namespace std;
int main() {
cout << "!!!I'm a client!!!" << endl;
prova *ciao = new prova() ;
ciao->a = 86;
ciao->b = 8.1;
ciao->c = 90;
udp_client_server::udp_client *client = new udp_client(LDM_IP, LDM_PORT);
int b = client->send((char *)ciao,strlen((char *)ciao));
if (b != strlen((char *)ciao)){
std::cout<<"Packet corrupted "<< std::endl;
}
return 0;
}
その後sender.ccクラス:
#include <iostream>
#include <string.h>
#include "udp_client_server.h"
#include "prova.h"
using udp_client_server::udp_server;
#define LDM_IP "127.0.0.1"
#define LDM_PORT 5445 //8000
using namespace std;
int main() {
cout << "!!!I'm a server!!!" << endl;
int size_max = 256;
udp_client_server::udp_server *server = new udp_server(LDM_IP, LDM_PORT);
char *buffer;
int gotMsg = server->recv(buffer,size_max);
prova *pippo = new prova();
pippo = (prova *)(buffer);
std::cout<< "result " << gotMsg <<std::endl;
std::cout<< "value " << pippo <<std::endl;
return 0;
}
接続が確立しているが、私は私が送って何を得ることはありません。それぞれの実行で、私は、送信されたものの代わりに異なる間違った値を得ます。
どこにエラーが表示されますか?
UDP接続のようなものはありません – EJP
@EJPどういう意味ですか? – moi