Simple Windows UDP Client Example

Where can I find a really basic simple example of how to create a UDP client which can connect and send string data for Windows NT/95/98?
mr_walshAsked:
Who is Participating?
 
WynConnect With a Mentor Commented:
Here you can find alot...
http://www.sockaddr.com/ExampleSourceCode.html

Here a sample:
//This code connects to a UDP server //listening on port SERVER_PORT.
#include <stdio.h>
#include <winsock.h>
#include <string.h>
#include <stdlib.h>
#include<windows.h>

#define SERVERPORT 5555
#define CLIENTPORT 5554

int SockId=0;
static int iCount=0;


int InitialiseClient(void)
{
    int error;
SOCKADDR_IN SockData;
SOCKADDR_IN SockSock;
    int sockid;
    WORD wVersionRequested;
WSADATA wsaData;
    wVersionRequested = MAKEWORD( 2, 0 );
    error = WSAStartup( wVersionRequested, &wsaData );
   if ( error != 0 ) {exit(0);}

SockData.sin_family = AF_INET;
SockData.sin_port = htons( CLIENTPORT );
    SockData.sin_addr.s_addr=htonl(INADDR_ANY);

sockid = socket ( AF_INET , SOCK_DGRAM ,0);

if ( sockid == -1 )
{
    printf ( "\n Socket Failed %d\n",WSAGetLastError() );
exit ( 1 );
}
error = bind ( sockid , (struct sockaddr *)&SockData , (int ) sizeof ( SockData ) );
if ( error )
{
    printf ( "\n  Bind Failed %d \n" ,WSAGetLastError());
closesocket( sockid );
    exit(1);
}

SockSock.sin_family = AF_INET;
/*Connect to server at IP:192.168.174.32 on port SERVER_PORT*/
SockSock.sin_port = htons(SERVER_PORT );
    SockSock.sin_addr.s_addr=inet_addr("192.168.174.32");

int iState=connect ( sockid,(sockaddr FAR*)&SockSock,sizeof(SockSock));    
printf("State of connection =%d ",iState);fflush(stdout);
return sockid;
}



void main(void )
{
    char command[256];
    char header[2],result[256];
int iCount=1;
SockId=InitialiseClient();

    header[0]=1;
command[0]=iCount;
header[1]=(char)1;
header[2]=0;

    strcpy(&command[1],"KILL PROCESS");

if(send(SockId,header,1,0)!=1)
{
printf("Serious Problem header");
}
printf(" Problem header=%s data=%d",header,strlen(header));


int Data=recv(SockId,result,1,0);

if(Data!=1)
{
    printf("Recv :Len=%d LineLen=%d Error=%d",Data,2,WSAGetLastError());
    exit(1);
}

Regards
W.Yinan

0
 
mr_walshAuthor Commented:
Thanks for the quick, concise answer.  --matt
0
All Courses

From novice to tech pro — start learning today.