// Client.cpp : Defines the entry point for the console application.
//
//客户端
#include "stdafx.h"
#include <winsock2.h>
#include <iostream>
#pragma comment(lib, "Ws2_32.lib")
int main(int argc, char* argv[])
{
SOCKET socket_client = -1;
try
{
//Windows 的初始化
printf("****Client stated!****/n");
WSADATA WsaData;
if(WSAStartup(MAKELONG(1,0), &WsaData) != 0)
{
throw ("WSAStartUp()");
return -1;
}
//初始化socket
socket_client = socket(AF_INET, SOCK_STREAM, 0);
if(socket_client < 0)
{
throw("socket()");
}
//本机信息
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);
//绑定端口
int nbind = bind(socket_client, (sockaddr*)&my_addr, sizeof(my_addr));
if(nbind < 0)
{
throw ("bind()");
}
//连接:
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("connect()");
}
}
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.
//
//服务器
#include "stdafx.h"
#include "stdafx.h"
#include <winsock2.h>
#include <iostream>
#pragma comment(lib, "Ws2_32.lib")
int main(int argc, char* argv[])
{
SOCKET socket_server = -1;
try
{
//Windows 的初始化
printf("****Server stated!****/n");
WSADATA WsaData;
if(WSAStartup(MAKELONG(1,0), &WsaData) != 0)
{
throw "WSAStartup()";
}
//初始化socket
socket_server = socket(AF_INET, SOCK_STREAM, 0);
if(socket_server < 0)
{
throw "socket()";
}
//本机信息
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);
//绑定端口
int nbind = bind(socket_server, (sockaddr*)&my_addr, sizeof(my_addr));
if(nbind < 0)
{
throw "bind()";
}
//
int nlisten = listen(socket_server, 5);
if(nlisten < 0)
{
throw "listen()";
}
//监听
printf("Listening....../n");
sockaddr_in their_addr;
int nSize;
nSize = sizeof(their_addr);
int nNewFd = accept(socket_server, (sockaddr*)&their_addr, &nSize);
//有用户接入
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;
}