Chce zrobić mały test programu. Napisałem do niego server w WinSocku i klienta. Lecz przy kliencie Code::Blocks wywala błąd !
Server:
#include <cstdio>
#include <cstdlib>
#include <winsock2.h>
#include <iostream>
using namespace std;
int main()
{
WSADATA wsaData;
int result = WSAStartup( MAKEWORD( 2, 2 ), & wsaData );
if( result != NO_ERROR )
printf( "Inizializacja zakonczyla sie bledem.\n" );
SOCKET mainSocket = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP );
if( mainSocket == INVALID_SOCKET )
{
printf( "Blad podczas tworzenia socketa: %ld\n", WSAGetLastError() );
WSACleanup();
}
sockaddr_in service;
memset( & service, 0, sizeof( service ) );
service.sin_family = AF_INET;
service.sin_addr.s_addr = inet_addr( "127.0.0.1" );
service.sin_port = htons( 27015 );
if( bind( mainSocket,( SOCKADDR * ) & service, sizeof( service ) ) == SOCKET_ERROR )
{
printf( "Socket popelnil powazny blad.() failed.\n" );
closesocket( mainSocket );
}
if( listen( mainSocket, 1 ) == SOCKET_ERROR )
printf( "Blad nasluchiwania socketa.\n" );
SOCKET acceptSocket = SOCKET_ERROR;
printf( "Czekam na uzytkownikow...\n" );
while( acceptSocket == SOCKET_ERROR )
{
acceptSocket = accept( mainSocket, NULL, NULL );
}
printf( "Uzytkownik polaczony.\n" );
mainSocket = acceptSocket;
return 0;
}
Klient:
#include <cstdio>
#include <cstdlib>
#include <winsock2.h>
#include <iostream>
using namespace std;
int main()
{
WSADATA wsaData;
int result = WSAStartup( MAKEWORD( 2, 2 ), & wsaData );
if( result != NO_ERROR )
printf( "Inizializacja zakonczyla sie bledem.\n" );
SOCKET mainSocket = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP );
if( mainSocket == INVALID_SOCKET )
{
printf( "Blad podczas tworzenia socketa: %ld\n", WSAGetLastError() );
WSACleanup();
}
if( connect( mainSocket,( SOCKADDR 1 )) == SOCKET_ERROR )
{
printf( "Blad podczas laczenia.\n" );
WSACleanup();
}
return 0;
}
Błędy:
Server: OK
Klient:
( 20 ) warning: format '%ld' expects argument of type 'long int', but argument 2 has type 'int' [-Wformat=]
( 24 ) error: expected primary-expression before '*' token
( 24 ) error: expected primary-expression before ')' token
(linia)
Proszę o pomoc!