Alright, so here I am reading all I can on winsock and when I finally try out some examples I get undefined errors from the linkers output (i'm using Dev C++ 4 by Bloodshed). I run WinXP pro and I think that could be the problem or maybe it's something else? Thought maybe you fine people could help.

Here's the example I was trying out from "Johnnies Winsock Tutorial"

PHP Code:
#include <winsock.h>        // winsock.h always needs to be included
#include <stdio.h>


int main(int argcchar** argv) {
    
WORD version MAKEWORD(1,1);
    
WSADATA wsaData;
    
int nRet;


    
//
    // First, we start up Winsock
    //
    
WSAStartup(version, &wsaData);


    
//
    // Next, create the socket itself
    //
    
SOCKET listeningSocket;

    
listeningSocket socket(AF_INET,        // Go over TCP/IP
                 
SOCK_STREAM,        // Socket type
                 
IPPROTO_TCP);        // Protocol
    
if (listeningSocket == INVALID_SOCKET) {
        
printf("Error at socket()");
        return 
0;
    }

    
    
//
    // Use SOCKADDR_IN to fill in address information
    //
    
SOCKADDR_IN saServer;
    
    
saServer.sin_family AF_INET;
    
saServer.sin_addr.s_addr INADDR_ANY;        // Since this is a server, any address will do
    
saServer.sin_port htons(8888);        // Convert int 8888 to a value for the port field


    //
    // Bind the socket to our local server address
    //
        
nRet bind(listeningSocket, (LPSOCKADDR)&saServersizeof(struct sockaddr));
    if (
nRet == SOCKET_ERROR) {
        
printf("Error at bind()");
        return 
0;
    }


    
//
    // Make the socket listen
    //
    
nRet listen(listeningSocket10);        // 10 is the number of clients that can be queued
    
if (nRet == SOCKET_ERROR) {
        
printf("Error at listen()");
        return 
0;
    }
    
    
    
//
    // Wait for a client
    //
    
SOCKET theClient;

    
theClient accept(listeningSocket,
               
NULL,            // Wait for a specific address to connect; here there is none
               
NULL);
    if (
theClient == INVALID_SOCKET) {
        
printf("Error at accept()");
        return 
0;
    }


    
// Send/receive from the client, and finally:
    
    
closesocket(theClient);
    
closesocket(listeningSocket);


    
//
    // Shutdown Winsock
    //
    
WSACleanup();

The Errors..

Code:
c:\winsock c++\winsock1\tcpclient\untitled1.o(.text+0x6c):untitled1.cpp: undefined reference to `WSAStartup@8'
c:\winsock c++\winsock1\tcpclient\untitled1.o(.text+0x7d):untitled1.cpp: undefined reference to `socket@12'
c:\winsock c++\winsock1\tcpclient\untitled1.o(.text+0xcc):untitled1.cpp: undefined reference to `htons@4'
c:\winsock c++\winsock1\tcpclient\untitled1.o(.text+0xf0):untitled1.cpp: undefined reference to `bind@12'
c:\winsock c++\winsock1\tcpclient\untitled1.o(.text+0x12d):untitled1.cpp: undefined reference to `listen@8'
c:\winsock c++\winsock1\tcpclient\untitled1.o(.text+0x16f):untitled1.cpp: undefined reference to `accept@12'
c:\winsock c++\winsock1\tcpclient\untitled1.o(.text+0x1ab):untitled1.cpp: undefined reference to `closesocket@4'
c:\winsock c++\winsock1\tcpclient\untitled1.o(.text+0x1bd):untitled1.cpp: undefined reference to `closesocket@4'
c:\winsock c++\winsock1\tcpclient\untitled1.o(.text+0x1c5):untitled1.cpp: undefined reference to `WSACleanup@0'
Bleh.. Any ideas anyone?