📄 subject_39328.htm
字号:
<p>
序号:39328 发表者:约翰列侬 发表日期:2003-05-09 21:04:52
<br>主题:用Telnet为什么不能连接到主机?
<br>内容:我刚开始学网络编程,想写一个C/S程序。为了测试,我把代码写到accept()后就运行程序,<BR>然后在Win2K的命令提示符中用telnet 127.0.0.1 2626,(2626是我在程序中监听的端口号)<BR>但总是显示“正在连接到127.0.0.1...无法打开到主机的连接 在端口 2626 : 连接失败”<BR>而总是无法连接到服务端。<BR><BR>程序代码如下,程序能够顺利地执行到accept()方法内。请教我哪里错了,谢谢,急。<BR><BR>BOOL CNetTalk1Dlg::OnInitDialog()<BR>{<BR> // ……<BR><BR> this->m_serv.sin_family = AF_INET; //sockaddr_in m_serv;<BR> this->m_serv.sin_port = 2626;<BR> this->m_serv.sin_addr.s_addr = htonl(INADDR_ANY);<BR> this->m_nAddLen = sizeof(this->m_serv); //int m_nAddLen;<BR><BR> this->m_sock = socket(AF_INET, SOCK_STREAM, 0); //SOCKET m_sock;<BR><BR> if (bind(this->m_sock, (sockaddr*)&(this->m_serv), this->m_nAddLen))<BR> {<BR> this->ShowMsg("系统消息:绑定错误!");<BR> }<BR> else<BR> {<BR> this->ShowMsg("系统消息:OK!服务器创建成功!");<BR> }<BR><BR> listen(this->m_sock, 5);<BR> AfxBeginThread(SubThread, 0);<BR>}<BR><BR>UINT SubThread(LPVOID p)<BR>{<BR> CNetTalk1Dlg* mainWnd = (CNetTalk1Dlg*)AfxGetApp()->GetMainWnd();<BR><BR> // SOCKET m_sockMsg;<BR> mainWnd->m_sockMsg = <BR> accept(mainWnd->m_sock, (sockaddr*)&(mainWnd->m_serv), &(mainWnd->m_nAddLen));<BR><BR> this->ShowMsg("系统消息:OK!已经有客户端连接!");<BR> //……<BR>}
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:jasic 回复日期:2003-05-10 12:05:02
<br>内容:this->m_serv.sin_port = 2626;<BR>这句话改称this->m_serv.sin_port = htons(2626);<BR>试试<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -