http://www.cs.utah.edu/~swalton/listings/sockets/programs/
上面网址down了一个使用ssl的socket server例程,编译后执行发现报错
SSL_CTX_new:null ssl method passed
google找到原因:跟我的发行版有关。。
Note: in Ubuntu 10.10 and later this method cannot be used. The SSLv2
protocol is considered unsafe, and all attempts to use it will result
in the error “null ssl method passed”.
SSLv2_server_method 改成 SSLv3_server_method 后编译执行继续报错
SSL_CTX_new:library has no ciphers
继续google:需要调用库函数之前需要执行SSL_library_init();
重新编译,OK
———–
post by gmail~
有必要给blogo2加个追加功能。。可以直接把mail追加到最新一篇blog的后面
————————
gcc之预处理js和as,下面的makefile主要处理flash的两个版本,SSL版本要比普通版本大150K。。感谢gcc
FLAGS="-DDEBUG"
define make-all
gcc $(FLAGS) $1 -E -x c src/swfsocket.js -o $2/swfsocket.js
gcc $(FLAGS) $1 -E -x c src/swf/SwfSocket.rel.as -o src/swf/SwfSocket.as
sed -i "/^#/d" $2/swfsocket.js
sed -i "/^#/d" src/swf/SwfSocket.as
cd src/swf; \
mxmlc -static-link-runtime-shared-libraries -output=./SwfSocket.swf SwfSocketMain.as
mv src/swf/SwfSocket.swf $2
endef
main:
$(call make-all,,bin)
$(call make-all,-DSSL,bin_ssl)
Copy Code
———–
post by gmail~
header.js
function SSL_socket()
{
alert('SSL');
}
function socket()
{
alert('normal');
} Copy Code
main.js
#include "header.js"
#ifdef _SSL
var socket = new SSL_socket();
#else
var socket = new socket();
#endif
Copy Code
gcc -E -x c main.js
# 1 "main.js"
# 1 ""
# 1 ""
# 1 "main.js"
# 1 "header.js" 1
function SSL_socket()
{
alert('SSL');
}
function socket()
{
alert('normal');
}
# 2 "main.js" 2
var socket = new socket();
gcc -E -x c -D_SSL main.js
# 1 "main.js"
# 1 ""
# 1 ""
# 1 "main.js"
# 1 "header.js" 1
function SSL_socket()
{
alert('SSL');
}
function socket()
{
alert('normal');
}
# 2 "main.js" 2
var socket = new SSL_socket();
———–
post by gmail~
看代码的时候看到这种类型声明
static void
add_shopt_to_alist (opt, on_or_off)
char *opt;
int on_or_off;
{
// ...
} Copy Code
立刻被震住了,smth上发贴弱问了一下,两分钟内便有两个回复,说这是一种老式的语法,也不好厚脸皮追问,顿时想出一串关键瓷:
c arguments declare old style
———–
post by gmail~
开了一个专门扯淡的地:blog.hua.lu,越来越有洁癖,好多东西都不想写道这个blog上来。。
———–
post by gmail~