问一个网络方面的问题
服务器
//设定地址
m_Server.sin_addr.s_addr=htonl(INADDR_ANY);
m_Server.sin_family=AF_INET;
m_Server.sin_port=htons(4000);
//创建socket
m_Sock=socket(AF_INET,SOCK_STREAM,0);
//绑定
if(bind(m_Sock,(sockaddr*)&m_Server,sizeof(m_Server))==SOCKET_ERROR)
{
m_Result=_T("绑定错误");
}
else
{
m_Result=_T("服务器创建成功");
//开始侦听
listen(m_Sock,5);
}
客户端
//连接BYTE nField0;
BYTE nField1;
BYTE nField2;
BYTE nField3; m_IPAdress.GetAddress(nField0,nField1,nField2,nField3);
CString szIP("");
szIP.Format("%d.%d.%d.%d",nField0,nField1,nField2,nField3); m_sockaddr.sin_addr.s_addr=inet_addr(szIP);
m_sockaddr.sin_family=AF_INET;
m_sockaddr.sin_port=htons(4000);
//创建socket
sockClient=socket(AF_INET,SOCK_STREAM,0);
ee=1; int i=connect(sockClient, (sockaddr*)&m_sockaddr,sizeof(m_sockaddr));
if(SOCKET_ERROR==i)
{
m_Result.SetWindowText("连接服务器失败!");
return ;
}
else
{
m_Result.SetWindowText("成功连接服务器!");
}
服务器能创建成功
可是连接不上?各位看看是什么原因
我想往服务器上传文件,各位觉得应该怎么编写
服务器
//设定地址
m_Server.sin_addr.s_addr=htonl(INADDR_ANY);
m_Server.sin_family=AF_INET;
m_Server.sin_port=htons(4000);
//创建socket
m_Sock=socket(AF_INET,SOCK_STREAM,0);
//绑定
if(bind(m_Sock,(sockaddr*)&m_Server,sizeof(m_Server))==SOCKET_ERROR)
{
m_Result=_T("绑定错误");
}
else
{
m_Result=_T("服务器创建成功");
//开始侦听
listen(m_Sock,5);
}
客户端
//连接BYTE nField0;
BYTE nField1;
BYTE nField2;
BYTE nField3; m_IPAdress.GetAddress(nField0,nField1,nField2,nField3);
CString szIP("");
szIP.Format("%d.%d.%d.%d",nField0,nField1,nField2,nField3); m_sockaddr.sin_addr.s_addr=inet_addr(szIP);
m_sockaddr.sin_family=AF_INET;
m_sockaddr.sin_port=htons(4000);
//创建socket
sockClient=socket(AF_INET,SOCK_STREAM,0);
ee=1; int i=connect(sockClient, (sockaddr*)&m_sockaddr,sizeof(m_sockaddr));
if(SOCKET_ERROR==i)
{
m_Result.SetWindowText("连接服务器失败!");
return ;
}
else
{
m_Result.SetWindowText("成功连接服务器!");
}
服务器能创建成功
可是连接不上?各位看看是什么原因
我想往服务器上传文件,各位觉得应该怎么编写
解决方案 »
- 请大家帮忙,多线程以及SOCKET的问题。谢谢啦!
- 这样的界面如何在MFC里实现?
- xp下,user权限下CreateFile无法打开USB存储设备的问题怎样解决???
- 关于VC里的SQL语句
- 一个小问题。
- ★★★调用recvfrom获取的IP地址与实际的发送方地址不同,请高手帮忙看看代码!!★★★
- 登陆对话框如何在一个对话框启动前启动?
- 在线等,读注册表的键值,谁有代码?贴出代码立即给分!!!
- 请问INSTALL SHIELD 怎么使用?
- 进程B通过接口指针pIC访问组件C,是否需要列集?
- (求救)在mschart画的折线图中怎样能在鼠标点击时显示该点的具体数值?
- [求助]如何把枚举到的窗口句柄添加到list中?
m_Server.sin_addr.s_addr=htonl(INADDR_ANY);
m_Server.sin_family=AF_INET;
m_Server.sin_port=5000;
m_Addlen=sizeof(m_Server);
if(!sockSrvr.Bind((sockaddr*)&m_Server,m_Addlen))
{
m_Result=_T("服务器创建成功!");
//开始侦听
sockSrvr.Listen();
}
else
{
m_Result=_T("绑定错误!");
}
m_Server.sin_addr.s_addr=htonl(INADDR_ANY);
m_Server.sin_family=AF_INET;
m_Server.sin_port=5000;
m_Addlen=sizeof(m_Server);
if(!sockSrvr.Bind((sockaddr*)&m_Server,m_Addlen))
{
m_Result=_T("服务器创建成功!");
//开始侦听
sockSrvr.Listen();
}
else
{
m_Result=_T("绑定错误!");
}//客户端连接
BYTE nField0;
BYTE nField1;
BYTE nField2;
BYTE nField3; m_IPAdress.GetAddress(nField0,nField1,nField2,nField3);
CString szIP("");
szIP.Format("%d.%d.%d.%d",nField0,nField1,nField2,nField3);
m_sockaddr.sin_addr.s_addr=inet_addr(szIP);
m_sockaddr.sin_family=AF_INET;
m_sockaddr.sin_port=5000;
CSocket m_ClientSocket;
m_ClientSocket.Create();
int result=m_ClientSocket.Connect((sockaddr *)&(m_sockaddr),sizeof(m_sockaddr));
if(0==result)
{
m_Result.SetWindowText("连接服务器失败!");
return ;
}
else
{
m_Result.SetWindowText("成功连接服务器!");
}
m_ClientSocket.Close();大家帮忙看看服务器的创建有什么问题没有?客户端连接不上是什么原因?服务器能不能接受客户端的数据
要测试服务端监听是否成功,可以用telnet 程序.另外,sin_port的设置应该是 = htons(5000)
==========广告签名============
http://shop33712512.taobao.com
淘宝店,专卖化妆品、自家蜂产品
==========广告签名============
http://yongyin.blog.163.com