Solved

Simple Windows UDP Client Example

Posted on 2000-02-25
2
741 Views
Last Modified: 2013-12-03
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?
0
Comment
Question by:mr_walsh
2 Comments
 
LVL 5

Accepted Solution

by:
Wyn earned 50 total points
ID: 2560232
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
 

Author Comment

by:mr_walsh
ID: 2571405
Thanks for the quick, concise answer.  --matt
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

zlib is a free compression library (a DLL) on which the popular gzip utility is built.  In this article, we'll see how to use the zlib functions to compress and decompress data in memory; that is, without needing to use a temporary file.  We'll be c…
As more and more people are shifting to the latest .Net frameworks, the windows presentation framework is gaining importance by the day. Many people are now turning to WPF controls to provide a rich user experience. I have been using WPF controls fo…
This Micro Tutorial hows how you can integrate  Mac OSX to a Windows Active Directory Domain. Apple has made it easy to allow users to bind their macs to a windows domain with relative ease. The following video show how to bind OSX Mavericks to …
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…

863 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

26 Experts available now in Live!

Get 1:1 Help Now