jak przesyłać kilka int`ów przez sockety

0

Witam,
Piszę program klient-serwer (w oparciu o TCP/IP przy pomocy WinSock), gdzie serwer ma przyjmować dane od klienta (inty lub floaty), następnie przetworzyć je zgodnie z zaimplementowanym równaniem i wyniki, także w postaci liczb (floaty) odesłać do klienta. Nie mam dużego doświadczenia w pisaniu takich programów, więc proszę o wyrozumiałość. Samą komunikację mam zaimplementowaną, chodzi mi jedynie o przesyłanie kilku liczb naraz funkcją send(). Najpierw próbowałem ubrać to jakoś w strukturę, nawet mi to jakoś wyszło po stronie klienta ( z naciskiem na jakoś ), ale nie za bardzo wiedziałem jak to odebrać i "przerobić" po stronie serwera. Następnie próbowałem jakoś "zapakować" liczby w tablice charów, ale również nie wiedziałem jak to "rozpakować" po stronie serwera.

Czy mógłby mi ktoś podpowiedzieć jaką metodą najłatwiej się posługiwać w przypaku wysyłaniu kilku liczb naraz. I jak to w ogóle "zapakować" i "rozpakować" po obu stronach? Czytałem też coś o funkcjach ntoh() i hton() ale nie za bardzo wiem czy z tym to się je. I tak męczę się już z tym 2 dni, więc proszę o pomoc.
Będę wdzięczny za każdą podpowiedź, a nie pogardzę także jakimś przykładem.

0

no jak powiedziałeś struktura albo tablica, co tam chcesz

to co wysyłasz po stronie serwera/klienta musi w takiej samej formie dojść do odbiorcy, taj jak wypełniasz strukturę tak samo ją odczytujesz, a tablicę to sobie zrób intów, tylko sobie rzutuj wskaźnik

//strukturą
struct CData
{
  int a;
  int b;
  int c;
  int d;
};

CData dane={5,7,35,2};
send(sock,(const char*)&data,sizeof(CData),0);//wysyłka odbiór

CData dane_odebrane
recv(sock,(const char*)&dane_odebrane,sizeof(CData),0);

//tablice
int tab[4]={5,7,35,2};
send(sock,(const char*)tab,4*sizeof(int),0);

int odbior[4];
recv(sock,(const char*)odbior,4*sizeof(int),0);

1 użytkowników online, w tym zalogowanych: 0, gości: 1