Solved

Simple Windows UDP Client Example

Posted on 2000-02-25
2
745 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

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

This article describes a technique for converting RTF (Rich Text Format) data to HTML and provides C++ source that does it all in just a few lines of code. Although RTF is coming to be considered a "legacy" format, it is still in common use... po…
Entering time in Microsoft Access can be difficult. An input mask often bothers users more than helping them and won't catch all typing errors. This article shows how to create a textbox for 24-hour time input with full validation politely catching …
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…
Microsoft Active Directory, the widely used IT infrastructure, is known for its high risk of credential theft. The best way to test your Active Directory’s vulnerabilities to pass-the-ticket, pass-the-hash, privilege escalation, and malware attacks …

791 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