我现在想做一个基于TCP的 C/S的聊天程序,怎么才能实现用户信息的认证登录,

解决方案 »

  1.   

    socket通信建立连接前,先发送用户名,密码等,认证
      

  2.   

    那建立的是TCP 必须要连接后才能发送呀
      

  3.   

    tcp,方式,先建立到服务器的连接,点击登录后,客户端发送包装用户信息(用户名,密码),服务器端解开包装获取用户信息,查寻数据库中此用户信息,比对信息是否正确,再发送登录认证的信息返回给客户端,客户端检查是否成功登录。
      

  4.   

    先建立服务器的连接是在ACCEPT执行以后吗 ?服务器怎么解开包装啊 。发送的信息包括用户名和密码,服务器怎么知道哪个是用户名,哪个是密码呢 ,可以详细解释下吗
      

  5.   

    accept后就相当于建立好一个连接了,然后服务产生一个新的用户通信的套接字,然后客户端与这个套接字进行通信。你把用户名密码发过来,然后服务器就解析就行了。具体的规则可以自己随便定义啊,比如登录的时候你给客户端发送 一个这样的字符串 UserName:username\r\nPassWord:password\r\n\.服务器接收后反过来解析不就行了吗
      

  6.   

    服务器怎么解析啊,UserName:username
                    nPassWord:password
    像这样的吧 ,还是不懂哦 说明白点撒
      

  7.   

    比如说你的客户端发送一个字符串"username:chenshun87\n"给服务器端, 服务器在接到这个字符串后,
    取出username:和\n之间的那串字符"chenshun87", 客户端再发一串密码"password:123456\n",服务器端取出
    password:和\n之间的字符串"123456",如果密码对,就让他登录
      

  8.   

    嗯 我懂了,那它怎么样才能取到username:和\n之间的那串字符"chenshun87"呢 这怎么实现呢
      

  9.   

    cstring 的基本操作,去查查msdn吧.
      

  10.   

    哦 cstring对应的WIN 32API函数是什么啊
      

  11.   

    cstring 是个类, 跟win 32 api没有任何关系. 使用类的成员函数来操作.
    你在msdn里查询cstring.仔细读读.
      

  12.   

    建议使用结构体 两个string字符串,保存账号和密码 可以方便很多,不用字符串操作了
      

  13.   

    直接用现有的SDK好了:AnyChat Platform Core SDK,看看下载的SDK包中的Demo程序源代码就清楚了。