我想在DLL中用App中定义的socket进行通信,传数据.怎么办到啊?
要交项目了...惨啊
各位xdjm帮忙啊....狂谢!

解决方案 »

  1.   

    补充一下,DLL中输出的是一个类!我想在这个类中某成员函数处理类似单击一下OK就发送某些数据的问题~
      

  2.   

    可以dll中发消息由app来处理socket的发送
      

  3.   

    函数传入? 怎么实现法? socket可不可以直接赋值?赋值以后还可不可以直接用呢?就是不用再去连接,如果之前已经连接好的话? 我在app中初始化 socket,然后直接在DLL中用~ 函数传入的话,是用AfxGetApp()?但这样的话,还是拿不到我要的变量啊?
      

  4.   

    to:dirdirdir3(风)
     好想法!!!
      

  5.   

    sendmessage好想法,可是不好实现
      

  6.   

    SOKET本质上是一个句柄,指向一个资源,
    在运行时,DLL使用的是主程序的进程环境,所以使用并没有什么实质问题dll端
    //全局
    SOCKET g_connection = INVALID_HANDLE;
    void set_conn(SOCKET s) {g_connection = s;}
    void send_msg() { send(g_connection,...); }主程序端:
    SOCKET sock = socket(...);
    set_conn(sock);
    send_msg();
      

  7.   

    用sendMessage没有问题,就是麻烦,因为你还得指定一个接收消息的窗口,然后设置消息回调函数有直接的办法为什么不用呢?
      

  8.   

    更直接的办法是:
    dll端
    void send_msg(SOCKET sock) { send(sock, ...); }主程序端:
    SOCKET sock = socket(...);
    send_msg(sock);
      

  9.   

    whoho(在北方流浪) 
     牛强!!!!
    佩服得五体投地了
      

  10.   

    用DLL将SOCKET封装起来就好了。包括里面什么初始化,连接,监听。
    在应用程序里简单的定义一些东西直接调用就OK了。前两天我才封装一个SOCKET。
    就是这样做的。