Hogyan lehet a lenti 2 forráskódból egyet csinálni? C++
#include <stdio.h>
#include <winsock2.h>
// Eszközök / Fordító beállításai
// [x] Következő kapcsolók hozzáadása a linker parancssorához:
// C:\Delete\Devcpp\lib\libws2_32.a
// *** Szerver ***
int main() {
WSADATA wsa;
SOCKET udpsocket;
sockaddr_in server;
char buff[200];
int bufflen=sizeof(buff);
long status;
if ((WSAStartup(0x202, &wsa)) != 0) { printf("Werror!"); getchar(); return 1; }
udpsocket=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);
if (udpsocket==INVALID_SOCKET) { printf("Serror!"); getchar(); return 1; }
server.sin_family=AF_INET;
server.sin_port=htons(1234);
server.sin_addr.s_addr=inet_addr("127.0.0.1");
status=bind(udpsocket,(SOCKADDR*)&server,sizeof(server));
if (status==SOCKET_ERROR) { printf("Berror!"); getchar(); return 1; }
printf("Wait...\n");
status=recv(udpsocket,buff,bufflen,0);
if (status!=SOCKET_ERROR) printf("%s\nOK.",buff); else printf("Rerror!");
closesocket(udpsocket);
WSACleanup();
getchar();
return 0;
}
#include <stdio.h>
#include <winsock2.h>
// Eszközök / Fordító beállításai
// [x] Következő kapcsolók hozzáadása a linker parancssorához:
// C:\Delete\Devcpp\lib\libws2_32.a
// *** Kliens ***
int main() {
WSADATA wsa;
SOCKET udpsocket;
sockaddr_in dest;
if ((WSAStartup(0x202, &wsa)) != 0) { printf("Werror!"); getchar(); return 1; }
udpsocket=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);
if (udpsocket==INVALID_SOCKET) { printf("Serror!"); getchar(); return 1; }
dest.sin_family=AF_INET;
dest.sin_port=htons(1234);
dest.sin_addr.s_addr=inet_addr("127.0.0.1");
printf("Sending...\n");
sendto(udpsocket,"Teszt",6,0,(SOCKADDR *)&dest,sizeof(dest));
printf("Teszt\n");
printf("OK.");
closesocket(udpsocket);
WSACleanup();
getchar();
return 0;
}
Szóval olyat szeretnék, hogy van egy progi ami parancsot küld, és fogad üzenetet, meg egy másik progi ami parancsot fogad és küld értesítést. és akkor eléglegyen mindkettőnek 1 ip címet megadni, mert én ugytudtam még csak megoldani, hogy kérte a gép a daját ip-t is amit nemtudtam lekérdezni és mondták elég egy proginak 1 ip, és érdekelnénke hogy ezek a parancsok konkrettan mire szolgálnak. Előre is köszönöm!
Nem igazán értem a kérdésed.
Ez ugye most 2 külön program, egy szerver és egy kliens.
A szervernek meg kell adni, hogy melyik címekre "figyeljen" (vagyis a saját címét, vagy megadható, hogy mindre hallgasson, talán 0.0.0.0-val), a kliensbe pedig meg kell adni, hogy a szervert milyen címen éri el.
Ha 1 gépen van a 2 program, akkor egy scripttel könnyen megoldható, hogy mind a 2 programot elindítsa az egy adott IP-vel.
Mi lenne a cél?
Miért UDP-t használsz?
Erre inkább TCP lenne talán az ideálisabb.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!