📄 本地监听.txt
字号:
UINT ListenThread(LPVOID lparam)
{
CTestDlg *pDlg=(CTestDlg *)lparam;
struct sockaddr_in sin;
pDlg->sServer = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if(pDlg->sServer==INVALID_SOCKET)
{
OutputDebugString("Socket Error !\n");
return -1;
}
sin.sin_family = AF_INET;
sin.sin_port = htons(pDlg->m_iPort);
sin.sin_addr.S_un.S_addr = INADDR_ANY;
if(bind(pDlg->sServer,(const struct sockaddr *)&sin,sizeof(sin))==SOCKET_ERROR)
{
OutputDebugString("Bind Error !\n");
return -1;
}
if(listen(pDlg->sServer,5)==SOCKET_ERROR)
{
OutputDebugString("Listen Error !\n");
return -1;
}
pDlg->sClient=accept(pDlg->sServer,NULL,NULL);
//有连接连上来了
pDlg->m_blHasSocket=TRUE;
pDlg->ChangeView(true);
DWORD dwBuffer2Write;
char szBuffer[1];
char szBuffer2Write[BUFFER_SIZE];
CString strAns;
dwBuffer2Write=0;
//接收数据
while(recv(pDlg->sClient,szBuffer,1,0)!=0)
{
szBuffer2Write[dwBuffer2Write++]=szBuffer[0];
if(szBuffer[0]=='\n')
{
//输出数据
szBuffer2Write[dwBuffer2Write]=0;
strAns.Format("%s",szBuffer2Write);
pDlg->AddAnswer(strAns);
dwBuffer2Write=0;
}
Sleep(10);
}
pDlg->ChangeView(false);
shutdown(pDlg->sClient,0x02);
closesocket(pDlg->sClient);
pDlg->m_blHasSocket=FALSE;
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -