现在有两个本地程序,其中一个(A程序)可向另一个(B程序)发送控制命令,A和B通过Socket通信,单独启动A、B程序能正常通信。现在A程序加一按钮使A程序能启动B程序,使用ShellExecute(NULL,"open",(LPCTSTR)m_deckDir,(LPCTSTR)m_deckcmd,NULL,SW_SHOWNORMAL);
m_deckDir为B程序全路径;
m_deckcmd为向B发送的启动参数
B程序启动后,A和B程序端口都正常打开,但B程序无法接受A程序发送的命令,请教高手
m_deckDir为B程序全路径;
m_deckcmd为向B发送的启动参数
B程序启动后,A和B程序端口都正常打开,但B程序无法接受A程序发送的命令,请教高手
解决方案 »
- 求VC的一操作方法! 关键词: 对话框、控件、派生类
- 自定义的消息映射老是不行!ON_MESSAGE的问题
- 阻塞模式下,怎样接收,才不浪费接收时间。
- 怎样获得桌面上任意一点的颜色?
- 在INTERNET上TCP传输简单报文,如何防止出错?
- 打开一个文本文件,怎么在RichEditView中显示?
- 用过TAPI的请看过来:LINEDEVSTATE_CONNECTED和LINECALLSTATE_CONNECTED的区别?
- 有一个想法,但不知道能不能实现,请帮助看一看
- 难道这个问题很难?竟然没人能回答?
- 为什么我的问题没人回答?
- 如何调用音量控制程序
- 串口通信连续接收数据 使用定时器 会不会丢失数据
既然两个程序端口都正常打开了,那A发送数据成功吗?如果程序返回值成功,那可以通过本机抓包再确认下是否包正常发出,然后再调试B侧有无收到该包。
Server显示listen,Client显示connect,本地IP和目标IP都是本机,
Server本地端口6789,目标端口2945(随机)
Client本地端口2945(随机),目标端口6789先抓包看看
在发送数据和接受数据时都加了MessageBox
单独启动时服务端和客户端MessageBox都能弹出来,ShellExecute启动客户端后,客户端就没动静了
B要接受A的参数来决定加载内容,A能控制B现在问题是单独启动两程序通信OK,但是B不能动态加载,如果B由A启动,则B接收不到A的数据,以下是NETSTAT -NA显示的部分内容:
TCP 10.1.38.149:3036 10.1.38.149:6789 ESTABLISHED (B程序)
TCP 10.1.38.149:6789 0.0.0.0:0 LISTENING (A程序)
TCP 10.1.38.149:6789 10.1.38.149:3036 ESTABLISHED (A程序)
PS:多谢各位