求救 socket通信问题

wangrb 2005-09-24 11:04:45
要求:
一台机器(A)作为server,两外两台(B、C)作为client,由server发送命令到B,开启机器B的一个程序,机器B完成一定功能后,给A发信息告知,然后A跟C通信开启C的程序,C执行完以后通知A。
那位达人能给出通信部分怎么么做阿
谢了
...全文
291 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangrb 2005-09-28
  • 打赏
  • 举报
回复
如果要A去执行B 的文件,是否需要在B上手动打开一个程序去回应A的消息么?还是直接就可以打开b的程序?
i_noname 2005-09-28
  • 打赏
  • 举报
回复
CreateProcess,ShellExecute等都可以启动程序
当B收到A的启动程序请示(这个你可以用一个结构做)后,B就启动指定的程序
wangrb 2005-09-27
  • 打赏
  • 举报
回复
to:ANDY
谢谢,文件传输已经结决了,就剩下最后一个根问题了,就是,怎么样进行远程控制,从A发命令打开B上的 *.exe.
烦请大家继续关注一下阿,我一直在努力去解决。
谢谢各位
wangrb 2005-09-27
  • 打赏
  • 举报
回复
是不是简单问题大家都不屑于回答?
tjandy 2005-09-27
  • 打赏
  • 举报
回复
FILE *fp;
char buf[1024];
int len;
if((fp =fopen(filename, "r")) ==NULL) return -1;
while(!feof(fp) && (len =fread(buf, 1, sizeof(buf)-1, fp)) >0)
{
buf[len] =0;
//在这写你发送邮件的处理
}
fclose(fp);
HowUCan 2005-09-26
  • 打赏
  • 举报
回复
A发一个消息给B,B收到之后看看消息内容是啥(消息格式自己定义,A、B约定好就行),如果发现是要求执行一个程序,B就执行它。不就行了?
zhxk 2005-09-26
  • 打赏
  • 举报
回复
绑你顶

wangrb 2005-09-26
  • 打赏
  • 举报
回复
to xx_jj():
开始也是这么想的,不知道怎么弄,我找了一个通讯的例子,能够运行,现在就是不知道,怎么让,比如说,b去执行程序,还有就是怎么传文件,
virtual int Receive(
void* lpBuf,
int nBufLen,
int nFlags = 0
);
假如我要传很多.txt怎么实现。
实在是菜,望指点
xx_jj 2005-09-26
  • 打赏
  • 举报
回复
你要弄一个简单的通讯协议
比方说 server A 发送 0x10 给B命令后 B解包如果是0x10 则执行, 完后 发0x11命令 回a
a 收到后 解包是0x11 则通知c 剩下的 通讯过程类似
萧山夜雨 2005-09-26
  • 打赏
  • 举报
回复
实现方式可以这样做:
假如这是一个类似QQ的东东。A做服务器,B向C传输文件。
1 A通知C,打开服务端口。
2 告诉B:C的外网IP和端口。
3 B知道了C的监听端口,连接C。
4 C接收连接成功。开始传输文件。
萧山夜雨 2005-09-26
  • 打赏
  • 举报
回复
服务器A只需要一个服务的SOCK,B和C除了要一个同服务器连接的客户端SOCK,还各自需要一个B和C通信的一对SOCK。(C和S)
wangrb 2005-09-26
  • 打赏
  • 举报
回复
问题基本结决,现在还有问题是,远程启动程序问题,不知道那位大虾能有个例子给看一下,谢谢
wangrb 2005-09-26
  • 打赏
  • 举报
回复
赫赫,具体实现起来不顺手,真晕
wangrb 2005-09-26
  • 打赏
  • 举报
回复
to :powerbanboo(清风明月)
应该不难,通信那个已经可以了,现在就是不知道怎么远程启动程序,以及传送文件,烦请
指点
powerbamboo 2005-09-26
  • 打赏
  • 举报
回复
这个很困难么?
wangrb 2005-09-26
  • 打赏
  • 举报
回复
TO HowUCan(下次注意计划好):
这个已经知道了,后面又提出了一些问题,帮忙看一下啊。

To:zhxk(zhangxukun)
谢谢
oyljerry 2005-09-25
  • 打赏
  • 举报
回复
建立好连接,通信是双向的,可发可收
greenabc 2005-09-25
  • 打赏
  • 举报
回复
很简单的 啦,要有两个程序 A上的程序 和 B、C上的程序。
A上的程序发指令给B、C,B、C上的程序接收并解释和按指令动作就可以了。
菲斯可儿 2005-09-25
  • 打赏
  • 举报
回复
很简单的应用了,找个vc入门的书就有。
rickywei 2005-09-25
  • 打赏
  • 举报
回复
如果B和C是不同的Socket对象,就要建立一个中间传输的过程来完成。
写一个中间队列,来处理。
1 B发给A,如果要转发,就写队列,
2 A发送队列,给连接C的Socket,让后发送。
加载更多回复(4)

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧