现有一个C/S模型,我需要作client端的工作。
在client端需要作的工作是:能够给server发送消息,能够处理server发送来的消息,并且每收到server发送的消息需要马上给server发送一个response。在client端我是采用异步socket来实现上述功能的。我不知道异步socket是否是多线程?听别人说要实现上述功能,需要多线程(对了,我是在vc环境下,用c++来实现的)操作,但对多线程的开发我以前没有接触过,希望各位高手能给予指点,多谢多谢了!

解决方案 »

  1.   

    去看看《windows核心编程》讲解多线程《windows网络编程》讲解socket编程吧。
      

  2.   

    可以不用多线程的。在服务器端定义一个客户端的连接指针队列。每收到一个就加一个。然会对于收到的ip进行回复。是个典型的聊天室啊。
    www.vckbase.com/code上面聊天室很多啊。楼主参考一下吧。
      

  3.   

    我只需要做client,不用服务器端,是不是肯定就不会用到多线程了?
      

  4.   

    不一定用多线程。
    可以看看《windows网络编程》
      

  5.   

    我的要求是:当收到server发送来的消息后如果消息无误,我要马上发送response;同时在这个过程中用户可以通过界面发送消息。即是我可以同时进行发送消息和接收消息的操作。
    这样的话是不是必须要用到多线程呢?
      

  6.   

    能告诉我异步和多线程之间的差别吗?
    不知道我要实现上述功能,如果只采用异步方式是否也可以?
    我没有采用CSocket类的方式,而是直接采用了socket底层api函数
    哪位能给我发份用CSocket封装的进行聊天的源码么?多谢了!急~
      

  7.   

    直接用SOCKET API,,
    多线程方面的东西可以去www.vckbase.com和www.codeproject.com上面找。。
    这些东西都不是几句话可以讲完。
    在这里给你讲清楚是不太可能了。。
      

  8.   

    我感觉MFC的相关SOCKET类不怎么好用,我是用API的。用API做多线程比较好用,就直接AfxBeginThread()即可,把SOCKET和相关参数封装后以指针传入该线程就行了,在这其中要考虑到各线程中的信息如何传递,具体做法就要看你要实现怎样的功能了。