求高手帮我解释一下这段代码,谢谢了。最好是逐字逐句的翻译一下。其中的IDC_EDIT是我的控件
voidCTcpseverDlg::Onlisten(){//Beep(2000,100);CStringipstr,portstr;intport;GetDlgItem...
void CTcpseverDlg::Onlisten()
{
// Beep(2000,100);
CString ipstr,portstr;
int port;
GetDlgItemText(IDC_EDIT3,ipstr);
severname=ipstr;
GetDlgItemText(IDC_EDIT4,portstr);
portstr.TrimLeft();
portstr.TrimRight();
port=atoi(portstr);//把字符串转换成长整型数
if(port>0&&port<9999){
if(cslisten.Create(port)){
// cslisten.Bind(port);
cslisten.Listen();
cslisten.setp(this,csnum);
cslisten.Listen();
CWnd *cw=GetDlgItem(IDC_EDIT3)
cw->EnableWindow(false)
cw=GetDlgItem(IDC_EDIT4);
cw->EnableWindow(false);
cw=GetDlgItem(IDC_listen);
cw->EnableWindow(false);
cw=GetDlgItem(IDC_EDIT1);
cw->SetWindowText("本服务器名称为:"+severname+"\r\n正在后台等待用户连接,监听端口:"+portstr+"...");
}
else{
MessageBox("绑定监听端口失败,请确认该端口没有被其它程序占用");
cslisten.Close();
}
}
else{
MessageBox("端口输入有误,请重新输入");
}
}
其中int csnum=0 展开
{
// Beep(2000,100);
CString ipstr,portstr;
int port;
GetDlgItemText(IDC_EDIT3,ipstr);
severname=ipstr;
GetDlgItemText(IDC_EDIT4,portstr);
portstr.TrimLeft();
portstr.TrimRight();
port=atoi(portstr);//把字符串转换成长整型数
if(port>0&&port<9999){
if(cslisten.Create(port)){
// cslisten.Bind(port);
cslisten.Listen();
cslisten.setp(this,csnum);
cslisten.Listen();
CWnd *cw=GetDlgItem(IDC_EDIT3)
cw->EnableWindow(false)
cw=GetDlgItem(IDC_EDIT4);
cw->EnableWindow(false);
cw=GetDlgItem(IDC_listen);
cw->EnableWindow(false);
cw=GetDlgItem(IDC_EDIT1);
cw->SetWindowText("本服务器名称为:"+severname+"\r\n正在后台等待用户连接,监听端口:"+portstr+"...");
}
else{
MessageBox("绑定监听端口失败,请确认该端口没有被其它程序占用");
cslisten.Close();
}
}
else{
MessageBox("端口输入有误,请重新输入");
}
}
其中int csnum=0 展开
2012-12-10
展开全部
建议LZ先学习下基础知识。。。
更多追问追答
追问
不是,我们突然要做这个。你就帮我解释一下,我应该能听懂的,就是基础知识不是很好,帮帮忙,帮帮忙
追答
额 大体看了下就是
应该是winsock控件的一些操作,主要是监听
先把TextBox里的文字转化成Port(端口),然后设置winsock端口号,打开,监听。如果输入端口输入错误的话,那么就弹出错误提示,端口打开失败也是这样。如果成功了呢,就在文本框里面写点东西:本服务器名称为:"+severname+"\r\n正在后台等待用户连接,监听端口:"+portstr+"...");
}
来自:求助得到的回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询