问一个网络方面的问题
服务器
//设定地址
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("成功连接服务器!");
}
服务器能创建成功
可是连接不上?各位看看是什么原因 
我想往服务器上传文件,各位觉得应该怎么编写

解决方案 »

  1.   

    服务器创建
    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();大家帮忙看看服务器的创建有什么问题没有?客户端连接不上是什么原因?服务器能不能接受客户端的数据
      

  2.   

    连接不上,检查一下错误代码.
    要测试服务端监听是否成功,可以用telnet 程序.另外,sin_port的设置应该是 = htons(5000)
    ==========广告签名============
    http://shop33712512.taobao.com
    淘宝店,专卖化妆品、自家蜂产品
    ==========广告签名============
      

  3.   

    看了你代码中没有accept函数,没有accept你怎么知道它就没有连上呢,可能连上了,只是还没有被服务器接受吧
      

  4.   

    欢迎到我的博客上来看看,那里有收集的大量资料共享  一定可以找你想要的资料>......................
       http://yongyin.blog.163.com