0
我想從客戶端發送一些文本到服務器。 我也想顯示時間戳,以便通知收到消息的時間。 當我嘗試發送時間它發送一個空白。但字符串的其餘部分得到顯示。客戶端服務器 - (TCP)
這裏我從客戶端發送代碼:
void ClientSock::OnConnect(int nErrorCode)
{
// TODO: Add your specialized code here and/or call the base class
if(nErrorCode)
{
AfxMessageBox(_T("Connection Failure."));
Close();
}
else
{
time_t clock;
time(&clock);
char min[30] = {0};
char s = ctime_s(min,sizeof(min),&clock);
char text[100] = {0};
char user[10] = {"UserName"};
int n = m_pDlg->GetDlgItemText(ID_REQUEST,text, 100);
Send(text,n);
Send(user,sizeof(user));
Send(min,sizeof(min));
//m_pDlg->SetDlgItemText(ID_REQUEST,min);
AfxMessageBox(_T(min));
}
}
和繼承人如何在服務器的控制檯即時打印:
SOCKET client;
char text[100] = {0};
char user[10] = {0};
char min[30] = {0};
int n,m;
//(here the server waits for the client and accepts connection requests)
client = accept(server, NULL, NULL);
//(receiving text from the client)
n = recv(client, text, 99, 0);
recv(client, user, 9, 0);
m = recv(client, min, 29, 0);
if(n > 0 && m > 0)
{
printf("%s:: %s:%s\n",min,user,text);
}
else
printf("ERROR:Communication Failure.\n");
當我發送文本。它顯示::用戶名:文本。它不打印時間。 – Pavitar 2011-03-07 13:13:11
再次閱讀我的答案,它告訴你爲什麼。 – Erik 2011-03-07 13:14:34
非常感謝你+1。在對我的代碼進行了一些實驗後,現在我明白了你的意思。 :) – Pavitar 2011-04-20 04:37:30