Как отобразить информацию в списке вместо поля редактирования?

я хочу создать клиент-серверную программу в mfc
я нашел действительно хороший исходный код с этого сайта: http://www.softwareandfinance.com/Visual_CPP/TCP_Client_Server.html

Хорошо, может кто-нибудь помочь мне отобразить информацию в списке вместо поля редактирования?

Вот код для обработки клиента:

static void f(void *p)
{
CSocketTestServerDlg *pDlg = reinterpret_cast<CSocketTestServerDlg*>(p);
pDlg->ProcessClientRequest();
}

void CSocketTestServerDlg::ProcessClientRequest()
{
SOCKADDR_IN clientaddr;
struct hostent *hostentry;
int len = sizeof(clientaddr);
SOCKET clientsocket = accept(m_serversocket, (sockaddr*)&clientaddr, &len);

if(len == -1)
{
AfxMessageBox("Error accpeting the client socket");
}
else
{
char *p = inet_ntoa(clientaddr.sin_addr);
int portno = ntohs(clientaddr.sin_port);
// int inet_pton(int af, const char *restrict src, void *restrict dst);

char rbuf[1024];
recv(clientsocket, rbuf, 1024, 0);
for(int i = 1024; i >= 1; i--)
{
if(rbuf[i] == '\n' && rbuf[i - 1] == '\r')
{
rbuf[i-1] = '\0';
break;
}
}CString strRecvData;

strRecvData.Format("%s\r\n%s %d\r\n%s\r\n\r\n", (const char*)CTime::GetCurrentTime().Format("%B %d, %Y %H:%M:%S"), p, portno, rbuf);
m_recvData += strRecvData;
m_bRefershData = true;
strcat(rbuf, "\r\n");
send(clientsocket, rbuf, 1024, 0);
closesocket(clientsocket);
}
}

так как я могу просто получить IP-адрес от клиента для отображения в списке? мне не нужна вся другая информация

0

Решение

Ну, у вас уже есть IP в виде строки в pне так ли?

Вы можете создать CString из него, чтобы избежать проблем с UNICODE. Затем используйте CListBox :: AddString для вывода вашей строки:

char *p = inet_ntoa(clientaddr.sin_addr);

CString str(p);

//CListBox listbox;

listbox.AddString(str);
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector