Solved

Simple Windows UDP Client Example

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

Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Slow process to read Excel 15 122
Saving the SQL Login Credentials for Excel 2010 Microsoft Queries 1 139
Need a complete list of ASP.NET page load events 3 44
SSRS troubles 4 47
After several hours of googling I could not gather any information on this topic. There are several ways of controlling the USB port connected to any storage device. The best example of that is by changing the registry value of "HKEY_LOCAL_MACHINE\S…
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…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

785 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