- 论坛徽章:
- 0
|
解释一下,当应用netcat的传输文件的功能的时候。
传输端完成之后不能输入也没有退出,
接受端接收完之后能输入,在传输端显示,
是不是应该都退出较好呢?
改进之后:
可以加-C选项,既接受端也可以先运行!直到接收完文件为止。
接收端和传输端都退出了。
after:
remote:nc -lp 55 < doexec.c
local:nc ip 55 > test.c
remote:nc -lp 55 < doexec.c
_ [can not type in]
local:nc ip 55 > test.c
_ [can type in,remote out]
how to update:
rr = recv (fd, bigbuf_net, BIGSIZ, 0);
if (rr <= 0) {
Debug (("recv rr <= 0 "))
+ if (_isatty( 1 ) == 0) /* > recv = 0,fix by chenghao0511#gmail.com*/
+ exit(0);
FD_CLR (fd, ding1); /* net closed, we'll finish up... */
rr = read (0, bigbuf_in, BIGSIZ);
if (rr <= 0) { /* at end, or fukt, or ... */
close (0);
+ shutdown(fd, 0x02); /* Kirby */
+ closesocket (fd);
+ return (0);
} else {
rzleft = rr;
zp = bigbuf_in; |
|