一个关于socket编程的问题,我用vs写了一个很简单的客户端和一个服务器的程序
其中客户端连接的代码如下BYTEnFild[4];CStringsIP;UpdateData();ServerIP.GetAddress(nFild[0],nFild[1...
其中客户端连接的代码如下
BYTE nFild[4];
CString sIP;
UpdateData();
ServerIP.GetAddress(nFild[0],nFild[1],nFild[2],nFild[3]);//ServerIP是ip控件
sIP.Format("%d.%d.%d.%d",nFild[0],nFild[1],nFild[2],nFild[3]);
m_ClientSocket.Create();///m_ClientSocket是Socket对象
m_ClientSocket.Connect(sIP,sPort);
服务器创建socket的代码如下:
BYTE nFild[4];
CString sIP,sP;
UpdateData();
ServerIP.GetAddress(nFild[0],nFild[1],nFild[2],nFild[3]);
sIP.Format("%d.%d.%d.%d",nFild[0],nFild[1],nFild[2],nFild[3]);
sP.Format("%d",sPort);
m_ListenSocket.Create(sPort,1,FD_ACCEPT,sIP);
m_ListenSocket.Listen(1);
m_ListWords.AddString("开始监听:");
m_ListWords.AddString("地址:"+sIP+" 端口"+sP);
m_ListWords.AddString("等待客户端连接......");
问题是在本地测试时服务器和和客户端ip都填“127.0.0.1”端口号填123,可以通过,但把客户端放在别人的机子上,服务器和客户端的ip各要填什么?是两个都填服务器那台机的ip么?还是要填些什么? 展开
BYTE nFild[4];
CString sIP;
UpdateData();
ServerIP.GetAddress(nFild[0],nFild[1],nFild[2],nFild[3]);//ServerIP是ip控件
sIP.Format("%d.%d.%d.%d",nFild[0],nFild[1],nFild[2],nFild[3]);
m_ClientSocket.Create();///m_ClientSocket是Socket对象
m_ClientSocket.Connect(sIP,sPort);
服务器创建socket的代码如下:
BYTE nFild[4];
CString sIP,sP;
UpdateData();
ServerIP.GetAddress(nFild[0],nFild[1],nFild[2],nFild[3]);
sIP.Format("%d.%d.%d.%d",nFild[0],nFild[1],nFild[2],nFild[3]);
sP.Format("%d",sPort);
m_ListenSocket.Create(sPort,1,FD_ACCEPT,sIP);
m_ListenSocket.Listen(1);
m_ListWords.AddString("开始监听:");
m_ListWords.AddString("地址:"+sIP+" 端口"+sP);
m_ListWords.AddString("等待客户端连接......");
问题是在本地测试时服务器和和客户端ip都填“127.0.0.1”端口号填123,可以通过,但把客户端放在别人的机子上,服务器和客户端的ip各要填什么?是两个都填服务器那台机的ip么?还是要填些什么? 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |