我的 c/s 程序在局域网测试一切正常,但到了互联网,客户端无法与服务器建立连接,帮我看看啊
tzsak 2003-08-21 03:15:12 已知服务器有真实网上IP
======================================================================
服务端连接:
m_Serv.sin_addr.s_addr=htonl(INADDR_ANY);
m_Serv.sin_family=AF_INET;
m_Serv.sin_port=5000;
m_AddLen=sizeof(m_Serv);
//创建Socket
m_Sock=socket(AF_INET,SOCK_STREAM,0);
//绑定
if (bind(m_Sock,(sockaddr*)&m_Serv,m_AddLen))
{
m_strOutput=_T("绑定错误");
}
else
{
m_strOutput=_T("服务器准备就绪");
//开始侦听
listen(m_Sock,5);
//启动线程
AfxBeginThread(&thread,0);
}
======================================================================
客户端连接:
m_Cli.sin_addr.s_addr=inet_addr(m_strIP); //m_strIP为服务端IP
m_Cli.sin_family=AF_INET;
m_Cli.sin_port=5000;
m_Sock=socket(AF_INET,SOCK_STREAM,0);
m_ctlOutput.SetWindowText(_T("正在连接服务器"));
if (connect(dlg->m_Sock,(sockaddr*)&(dlg->m_Cli),sizeof(dlg->m_Cli))==0)
{
dlg->m_ctlOutput.SetWindowText(_T("连接成功"));
}
else
{
dlg->m_ctlOutput.SetWindowText(_T("连接失败"));
return 0;
}
AfxBeginThread(thread,0);