晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
Server : Apache System : Linux srv.rainic.com 4.18.0-553.47.1.el8_10.x86_64 #1 SMP Wed Apr 2 05:45:37 EDT 2025 x86_64 User : rainic ( 1014) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /usr/share/doc/socat/ |
Upload File : |
Q: What is the clue of socat? A: socat probably doesn't have any clue. It is more an attempt to smoothly integrate similar I/O features that are usually handled differently under UNIX. Q: What does the prefix XIO mean? A: XIO means "extended input/output". It is a library/API that provides a common way for handling files, sockets and other forms of I/O. Its advantage is that the application may reduce its I/O to open / read+write / close calls, while the user controls all I/O details (and even basic process properties) by packing options into the filename string. This is the basic part of socat. Q: Is there a Windows port of socat available? A: Try with Cygwin from http://www.cygwin.com/, or upgrade to Linux. Q: I succeeded to configure and make socat, but ./test.sh says something like: ./test.sh: No such file or directory A: You need a bash shell in your executable path (locations in $PATH) Q: configure disables readline / openssl / libwrap support because it does not find an include file / the library. How can I tell configure where these files are? A: For include locations, use the environment variable CPPFLAGS, for library locations use LIBS, e.g.: export CPPFLAGS="-I/home/user/ssl/include" export LIBS="-L/home/user/ssl/lib" On some systems (SunOS), you might also need to set LD_LIBRARY_PATH: export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/user/ssl/lib" Then try again: make distclean; ./configure; make Q: I succeeded to make socat, but the test.sh script fails for many tests. Is my socat build corrupt? A: Probably your socat program is ok; the tests have been developed on Linux 2.4, and there they usually succeed. But the following OS differences result in errors on non Linux systems: * Linux allows to bind a socket to any address of range 127.0.0.0/8, not only 127.0.0.1. Some tests are built on this feature, but they might fail on other systems. * Your OS might have no IP6 implementation * MacOS X has some difficulties, e.g. distinguishing sockets and pipes. * the OpenSSL tests require OpenSSL support by socat, must have openssl in $PATH, and "openssl s_server ..." needs enough entropy to generate a key. Q: When I specify a dual address (two partial addresses linked with "!!") on the command line, I get some message "event not found", and my shell history has the line truncated. Not even protecting the '!'s with '\' helps. A: '!' is appearently used by your shell as history expansion character. Say "set +H" and add this line to your (bash) profile. Q: On Solaris, socat was built successfully, but when started, it gets killed with something like "ld.so.1: ./socat: fatal: libreadline.so.4: open failed: no such file or directory" A: The configure script finds your libreadline, but the runtime loader doesn't. Add the directory where the library resides to your LD_LIBRARY_PATH variable, e.g.: LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/sfw/lib/ make distclean; ./configure; make Q: On Solaris, socat was built successfully, but when started, an assertion fails: "xioinitialize.c:25: failed assertion `3 << opt_crdly.arg3 == CRDLY' A: Probably, in a second attempt you set the correct LD_LIBARY_PATH for socat, but it had not been set during the ./configure run, or you did not "make clean" before running configure. Try it again: make distclean; ./configure; make Q: A socat process, run in background from an interactive shell, is always stopped with all its child processes after about 5 minutes. killall -9 socat is required to clean the system and allow socat to be started again. A: The terminal (window) might have the TOSTOP flag set and one of the socat processes wants to write to the terminal. Clear this flag in your shell: stty -tostop and start socat again. Thanks to Philippe Teuwen for reporting this situation.