void Cpop3ClientDlg::OnBnClickedButton1()
{
// TODO: Add your control notification handler code here
pop3Socket *pSocket;
CString ip;
CString messtr;
char *bufer=new char[128];
char *bufer2=new char[128];
LPCTSTR str;
str = bufer;
pSocket=new pop3Socket(this);
pSocket->Create();
int socketHandle = pSocket->Connect("127.0.0.1",110);
connect_btn.EnableWindow(false);
disconnect_btn.EnableWindow(true);
char bufHello[512];
strcpy(bufHello,"Hello\r\n");
if(pSocket->Send(bufHello,strlen(bufHello)!=SOCKET_ERROR)){
pSocket->Receive(bufHello,sizeof(bufHello));
Protocol.AddString(bufHello);
}
else{
AfxMessageBox("Send Error");
}
pSocket->Close();
}
MFC, CSocket, клиент pop3
Проблема вот в чем:
Пишу клиента поп3, работаю с классом CSocket, Создаю сокет, конекчусь к серверу, получаю от него строку приветствия. Потом шлю ему строку с командой USER, в ответ ничего... Или Send не так использую или Recieve, посмотите пожадуйста (pop3 сервер на моей машине на 110 порту)
Код:
Код:
// pop3Socket.cpp : implementation file
//
#include "stdafx.h"
#include "pop3Client.h"
#include "pop3Socket.h"
// pop3Socket
pop3Socket::pop3Socket(Cpop3ClientDlg* Dlg)
{
m_Dlg = Dlg;
}
pop3Socket::~pop3Socket()
{
}
void pop3Socket::OnReceive(int nErrorCode)
{
char *buffer = new char[1024];
CString srvMsg;
int recived = Receive(buffer,1024);
buffer[recived]='\0';
srvMsg.Format("S: %s",buffer);
m_Dlg->Protocol.AddString(srvMsg);
m_Dlg->SetDlgItemTextA(IDC_OUTPUT,buffer);
for(int i=0;i<1024;i++){
buffer=0;
}
}
void pop3Socket::OnClose(int nErrorCode)
{
}
// pop3Socket member functions
//
#include "stdafx.h"
#include "pop3Client.h"
#include "pop3Socket.h"
// pop3Socket
pop3Socket::pop3Socket(Cpop3ClientDlg* Dlg)
{
m_Dlg = Dlg;
}
pop3Socket::~pop3Socket()
{
}
void pop3Socket::OnReceive(int nErrorCode)
{
char *buffer = new char[1024];
CString srvMsg;
int recived = Receive(buffer,1024);
buffer[recived]='\0';
srvMsg.Format("S: %s",buffer);
m_Dlg->Protocol.AddString(srvMsg);
m_Dlg->SetDlgItemTextA(IDC_OUTPUT,buffer);
for(int i=0;i<1024;i++){
buffer=0;
}
}
void pop3Socket::OnClose(int nErrorCode)
{
}
// pop3Socket member functions
Ппц. СТРОКА СООБЩЕНИЯ В SEND() ДОЛЖНА ЗАКАНЧИВАТЬСЯ \n\r !!!