CtcpClient.h
#pragma once
#include<string>
using namespace std;
class CtcpClient
{
public:
CtcpClient(void);
~CtcpClient(void);
public:
SOCKET m_socket;//socket句柄
SOCKADDR_IN m_addrServer;//服务端地址
WSADATA wsaData;
SOCKADDR_IN addrServer;//服务端地址
string m_strIP;//IP地址
int m_intPort;//端口
public:
bool CtcpClient::InitClient(string p_strIP , int p_intPort);//初始化
bool ConnectToServer();//连接
bool CtcpClient::SendToServer(string p_str);//发送数据
bool CtcpClient::RecvFromServer(string &p_strRecv);//接收数据
};
CtcpClient.h.cpp
#include "StdAfx.h"
#include "CtcpClient.h"
CtcpClient::CtcpClient(void)
{
m_socket = NULL;
}
CtcpClient::~CtcpClient(void)
{
if(m_socket)
{
closesocket(m_socket);
}
}
bool CtcpClient::InitClient(string p_strIP , int p_intPort)
{
m_strIP = p_strIP;
m_intPort = p_intPort;
WSAStartup(MAKEWORD(2, 2), &wsaData);
//定义要连接的服务端地址
addrServer.sin_addr.S_un.S_addr = inet_addr(p_strIP.c_str());//目标IP(127.0.0.1是回送地址)
addrServer.sin_family = AF_INET;
addrServer.sin_port = htons(p_intPort);//连接端口6000
//新建客户端socket
m_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if(m_socket==NULL)
{
return false;
}
bool ret = ConnectToServer();
return ret;
}
bool CtcpClient::ConnectToServer()
{
m_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if(m_socket==NULL)
{
return false;
}
int ret = connect(m_socket, (SOCKADDR*)&addrServer, sizeof(SOCKADDR

最低0.47元/天 解锁文章
740

被折叠的 条评论
为什么被折叠?



