Hello, there was a problem, I can not transfer data on the socket, namely, unsigned int array. Swears on the 39th line, writes:
[C++ Error] KlientUDP.cpp(39): E2034 Cannot convert 'unsigned int *' to 'const char *' [C++ Error] KlientUDP.cpp(39): E2342 Type mismatch in parameter 'buf' (wanted 'const char *', got 'unsigned int *') Char array is transmitted without problems, but it does not work out. Help please, find errors, I recently met with sockets, I may not know something basic. In general, I will be glad to every answer.
Here is the client code
//--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "KlientUDP.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { const int iReqWinsockVer = 2; WSADATA wsaData; if (WSAStartup(iReqWinsockVer,&wsaData)==0) { ShowMessage("ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠΎΠΊΠ΅ΡΠ°(Ws2_32.dll) ΡΠ΄Π°Π»Π°ΡΡ"); SOCKET s; s = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); if (s == INVALID_SOCKET) ShowMessage("ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠΎΠΊΠ΅ΡΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°"); else ShowMessage("Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΎΠΊΠ΅ΡΠ° Π±ΡΠ»ΠΎ ΡΡΠΏΠ΅ΡΠ½ΡΠΌ!"); sockaddr_in sockAddr; sockAddr.sin_family = AF_INET; sockAddr.sin_port = htons(80); sockAddr.sin_addr.S_un.S_addr = inet_addr("169.254.128.135"); unsigned int buf[20]; buf[0] = 3; while(true) { sendto(s, buf, sizeof(buf), 0, (struct sockaddr *)&sockAddr, sizeof(sockAddr)); } closesocket(s); if (WSACleanup()!=0) ShowMessage("ΠΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ² WinSock Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ"); else ShowMessage("ΠΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ² WinSock Π·Π°Π²Π΅ΡΡΠΈΠ»ΠΎΡΡ ΡΡΠΏΠ΅Ρ
ΠΎΠΌ"); } else ShowMessage("ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠΎΠΊΠ΅ΡΠ°(Ws2_32.dll) Π½Π΅ ΡΠ΄Π°Π»Π°ΡΡ"); }
..., (const char*)buf, ...- user194374