linux+while循环多条件,有效的while循环条件客户端选择(TCP连接在Linux - C)

我想做一个TCP文件传输连接,使客户端可以选择他想做什么“任务”(列出目录中的文件,上传,下载一个文件),但是一旦他做出选择就不会终止。这意味着他可以在每个环节做更多的选择。有效的while循环条件客户端选择(TCP连接在Linux - C)

我的问题是,在我的实现在服务器端while循环的:

while(n= read(sd,rbuf,BUFLEN)){

if (rbuf[0] == 'R'){//CHANGE DIR

//char *dircha;

//read(sd, rbuf, BUFLEN);

printf("ENTER change directory\n");

//chdir(dircha);// this will change directory

}

if(rbuf[0] == 'L'){//LIST FILES

requiem[0] = 'I';

requiem[1] = 20;

printf("TYPE: %c", requiem[0]);

write(sd, requiem , 2);.... //rest of code

的RBUF犯规得到“清理”,并且仍然含有当他输入他的选择客户端发出的人物,一旦进入while循环并选择一个选项,它将永远无法选择另一个任务,因为rbuf [0]永远不会等于我所做的任何选择。

我该怎么做才能让用户做出多种选择?非常感谢!

+0

'while(n = read(sd,rbuf,BUFLEN)){'n可能是负数。保重。 –

+0

使用[select](http://en.wikipedia.org/wiki/Select_(Unix))可能会有帮助。 –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值