My first Socket program!

xiaoxiao2021-03-06  43

Haha, I finally wrote the first Socket program! ! I wish to be a good basing:

// Client.cpp: Defines the entry point for the console application.

//

// client

#include "stdafx.h"

#include

#include

#pragma comment (Lib, "WS2_32.LIB")

Int main (int Argc, char * argv [])

{

Socket Socket_Client = -1;

Try

{

// Windows initialization

Printf ("**** client stated! **** / n");

Wsadata wsadata;

IF (WsaStartup (Makelong (1,0), & WSADATA)! = 0)

{

"" WSAStartup () ");

Return -1;

}

// Initialize Socket

Socket_client = Socket (AF_INET, SOCK_STREAM, 0);

IF (Socket_Client <0)

{

Throw ("socket ()");

}

// Native information

SockAddr_in my_addr;

MY_ADDR.SIN_FAMILY = AF_INET;

MY_ADDR.SIN_PORT = HTONS (5555);

MY_ADDR.SIN_ADDR.S_UN.S_ADDR = INADDR_ANY

MEMSET (MY_ADDR.SIN_ZERO, 0, 8);

// Bind port

INT NBIND = BIND (socket_client, (socketdr *) & my_addr, sizeof (my_addr));

IF (Nbind <0)

{

Throw ("Bind ()");

}

//connection:

SockAddr_in Server_Add;

Server_add.sin_family = af_INet;

Server_add.sin_port = HTONS (3490);

Server_add.sin_addr.s_un.s_addr = inet_addr ("192.168.0.119);

MEMSET (Server_Add.sin_zero, 0, 8);

INT NCON = Connect (socket_client, (sockaddr *) & Server_add, sizeof (server_add));

IF (NCON <0)

{

Throw ("" "");

}

}

Catch (Char * LPERRORFUNC)

{

Printf ("ERROR WHEN CALLING:% S / N", LPERRORFUNC);

}

IF (socket_client! = -1)

CloseSocket (Socket_Client);

WSACLEANUP ();

Return 0;

}

// Server.cpp: defines the entry point for the console application.

//

//server

#include "stdafx.h"

#include "stdafx.h"

#include

#include

#pragma comment (lib, "ws2_32.lib") int Main (int Argc, char * argv [])

{

Socket Socket_server = -1;

Try

{

// Windows initialization

Printf ("**** server stat! **** / n");

Wsadata wsadata;

IF (WsaStartup (Makelong (1,0), & WSADATA)! = 0)

{

Throw "WSAStartup ()";

}

// Initialize Socket

Socket_server = socket (AF_INET, SOCK_STREAM, 0);

IF (socket_server <0)

{

Throw "socket ()";

}

// Native information

SockAddr_in my_addr;

MY_ADDR.SIN_FAMILY = AF_INET;

MY_ADDR.SIN_PORT = HTONS (3490);

MY_ADDR.SIN_ADDR.S_UN.S_ADDR = INADDR_ANY

MEMSET (MY_ADDR.SIN_ZERO, 0, 8);

// Bind port

INT NBIND = BIND (socket_server, (socketdr *) & my_addr, sizeof (my_addr));

IF (Nbind <0)

{

Throw "bind ()";

}

//

INT nlisten = listen (socket_server, 5);

IF (NListen <0)

{

Throw "listen ()";

}

//monitor

Printf ("Listening ... / N");

SockAddr_in their_addr;

Int nsize;

nsize = sizeof (their_addr);

INT nnewfd = accept (socket_server, (socketdr *) & their_addr, & nsize);

// There is user access

Printf ("Accepted! IP:% S: Port:% D / N", INET_NTOA (THEIR_ADDR.SIN_ADDR), NTOHS (THEIR_ADDR.SIN_PORT);

BEEP (500, 1000);

Char szbuf [255];

Scanf ("% s", szbuf);

}

Catch (Char * LPERRORFUNC)

{

Printf ("ERROR WHEN CALLING:% S / N", LPERRORFUNC);

}

IF (socket_server! = -1)

CloseSocket (Socket_server);

WSACLEANUP ();

Return 0;

}

转载请注明原文地址:https://www.9cbs.com/read-72315.html

New Post(0)