wlet
所属分类:Linux/Unix编程
开发工具:Unix_Linux
文件大小:8KB
下载次数:164
上传日期:2009-05-31 01:29:20
上 传 者:
虎成
说明: linux 下 ftp 和 telnet 功能结合的一个服务器源码,可实现服务器端和客户端基本shell 命令,及上传下载文件功能,无需帐号认证
(
1 no count and no authentication , the shell running level result in who run the server in server side
2 basic ftp transferring functions as get files (g files ) and send files(s fname).
3 running common shells in client side(!cmd) and server side(cmd)
4 support multi-connections for multi-clients
5 Ctrl+C to break client and server shells
6 error return: the server side will print error message in /var/log/wasd.log,
and the client side will print these to stderr)
文件列表:
wlet\common.h (5610, 2009-06-01)
wlet\Makefile (774, 2009-06-01)
wlet\sock_client.c (6403, 2009-06-01)
wlet\sock_server.c (6810, 2009-06-01)
wlet (0, 2009-05-31)
################################################################################
# #
# Super Ftp Server and Client for Wall-e #
# #
# SunMay30 2009 #
# #
################################################################################
////////\\\\\\\
||Introduct ||
\\\\\\\\///////
Wall-e is a team for a project about two-demision code ,
for details at this:http://hi.baidu.com/hzau_wall_e
this server and client programs is created for the s3c2410 platform board to conveniencely
control it and fulfil files transferring at the same time , that is a simple combination
for telnet and ftp server.
Of course there are many fails and bugs in it , I'll appreciate the correction and criticism!
////////\\\\\\\
||Functions ||
\\\\\\\\///////
1 no count and no authentication , the shell running level result in who run the server in server side
2 basic ftp transferring functions as get files (g files ) and send files(s fname).
3 running common shells in client side(!cmd) and server side(cmd)
4 support multi-connections for multi-clients
5 Ctrl+C to break client and server shells
6 error return: the server side will print error message in /var/log/w***.log,
and the client side will print these to stderr
////////\\\\\\\
|| Usage ||
\\\\\\\\///////
0 make the server and client
change to this direction in console and run
make [target]
target:
1) null equal to all
2) all make server and client for both platform (arm and x86 linux)
3) host server (server_h) and client (client_h) for x86 linux
4) arm server (server_a) and client (client_a) for arm linux
5) hsac server (w***) for x86 and client(was) for arm linux
6) ashc server (w***) for arm and client (was) for x86 linux
7) best equals to ashc
8) you can change thest by edit Makefile
1 run the server and client
server:
./server_x # x is for your platform h for host pc, a for arm, for details to see Makefile
client:
./client_x xx.xx.xx.xx
then you can operate in the client side.
the prompt of client side will be:
Walle>
2 run server side shells
[usage] : cmd
[return]: return what the shell will return to stdout and stderr .
[eg]:
Walle>ls -l
总计 152
-rwxr-xr-x 1 root root 17382 05-30 22:00 client_a
-rwxr-xr-x 1 root root 13060 05-30 22:00 client_h
-rw-r--r-- 1 root root 4485 05-30 16:01 common.h
-rwxr-xr-x 1 root root 462 05-30 21:43 Makefile
-rw-r--r-- 1 root root 579 05-30 22:00 README
-rw-r--r-- 1 root root 577 05-30 22:00 README~
-rwxr-xr-x 1 root root 20835 05-30 22:00 server_a
-rwxr-xr-x 1 root root 16176 05-30 22:00 server_h
-rwxr-xr-x 1 root root 5225 05-30 21:47 sock_client.c
-rwxr-xr-x 1 root root 4362 05-30 15:09 sock_server.c
Walle>cd /root
Walle>pwd
/root
Walle>
Walle>get ***
sh: get: command not found
Walle>
3 run client side local shells
[usage] :! cmd
[return]: return what the shell will return to stdout and stderr .
[eg] :
Walle>!ls /root
a es OperaDownloads
aa f Pictures
anaconda-ks.cfg fcitx Public
automake_cn.htm g save_usb
b install server_a
client_h install.log server_h
common.c install.log.syslog src
common.h~ ked tcpd-0.2.0.tar.gz
dairy Music Templates
Desktop my_fs tmp
Documents myos Unsaved Document 1
4 send files
[usage] :s localfilename
[return]: return successfully message,if success, or print error messages
error message will be introduced below
[eg] :
Walle>! cd /usr/src/
Walle>s qt-embedded-linux-opensource-src-4.4.3.tar.gz
send files successfully!
Walle>ls -l
......
1 root root 124238957 05-30 22:09 qt-embedded-linux-opensource-src-4.4.3.tar.gz
Walle> tar xzvf qt-embedded-linux-opensource-src-4.4.3.tar.gz
......
5 get files
[usage] : g remotefilename
[return]: return successfully message,if success, or print error messages
error message will be introduced below
[eg] :
Walle> ls
....
Walle>g tcpd-0.2.0.tar.gz
get remote files successfully!
Walle>
5 error return
xsh:cmd: xxx xxx : error return from shells
E_F_N_EST : file does not exists!
E_SEND_ERR : send socket data err!
case E_RPC_TIMEOUT : socket rpc timeout!(wait for sequential
5 secs no data arrives )
case E_F_C_ERR : file create error!
case E_REV_ERR : rev socket data error
case E_BAD_SOCK_FD :
default : unknown error!
6 bugs
both side couldn't send control signal to each other,
that is you can only send message that after a line break.
so there are many shells programs couldn't be runned by
client side(I'm really sorry for this):
vi, ex,ed ,top ...
running these progs will result in "RPC Timeout " errors
after 5 secs, but the server and client will still work normally,
you also can press Ctrl+C to interrupt the shell
7 contact
if you've any questions please send Email to me at
supertiger@yahoo.cn
or chat me by QQ : 547268476,
I'll appreciate it !
近期下载者:
相关文件:
收藏者: