准备在linux下写个类似飞鸽传输的文件,基于tcp.
服务器流程:
socket();bind();listen();accept();send();close();
客户端流程:
socket();connect();recv();close();
0.1版:
1.服务器发送字符串,运行后将自身挂起,等待连接;
2.客户端被动连接,接收字符串后输出;
3.接受后客户端退出,服务器端继续挂起;
0.2版(预计):
服务器端发送指定文件;客户端接收
tips: exit(1)表示发生错误后退出程序,exit(0)表示正常退出.这个0和1应该是返回给操作系统了.
2010-04-25
2010-04-22
c语言笔记
1.int型除以float型,还是得到float型.
2.数组初始化,int a[10]={1,2,3,4},则前四个分别为1,2,3,4,其余为0 !
3.32位linux,gcc下,有
sizeof int = 4
sizeof char = 1
sizeof float = 4
4. char s[10];
sizeof(s); //参数是s,值为10
printf("%s",s); //这里也是s
5.变量(int,char等)作函数参数,改变形参对实参没有影响;数组作为函数参数则不同,形参会改变实参的值.
6.数组作为函数的参数进行传递时,该数组自动退化为同类型的指针。
即
int a[10];
int*p = a;
sizeof(a); //一般为40
sizeof(p); //一般为4
在函数内:
void f(int a[])
{
sizeof(a); //为4,不管实参传递进来的数组有多少!!!
}
7. 形参的改动对实参的影响:
23 void swap1(int a,int b) //没用
24 {
25 int tmp;
26 tmp=a;
27 a=b;
28 b=tmp;
29 }
30
31 void swap2(int *a,int *b) //也没用,和1一样,a,b的改变不能对&x,&y造成改动
32 {
33 int *tmp;
34 tmp=a;
35 a=b;
36 b=tmp;
37 }
38
39 void swap3(int *a,int *b) //可以.a的改动无效,但是直接改动*a可以!!:
40 {
41 int tmp;
42 tmp=*a;
43 *a=*b;
44 *b=tmp;
45 }
2.数组初始化,int a[10]={1,2,3,4},则前四个分别为1,2,3,4,其余为0 !
3.32位linux,gcc下,有
sizeof int = 4
sizeof char = 1
sizeof float = 4
4. char s[10];
sizeof(s); //参数是s,值为10
printf("%s",s); //这里也是s
5.变量(int,char等)作函数参数,改变形参对实参没有影响;数组作为函数参数则不同,形参会改变实参的值.
6.数组作为函数的参数进行传递时,该数组自动退化为同类型的指针。
即
int a[10];
int*p = a;
sizeof(a); //一般为40
sizeof(p); //一般为4
在函数内:
void f(int a[])
{
sizeof(a); //为4,不管实参传递进来的数组有多少!!!
}
7. 形参的改动对实参的影响:
23 void swap1(int a,int b) //没用
24 {
25 int tmp;
26 tmp=a;
27 a=b;
28 b=tmp;
29 }
30
31 void swap2(int *a,int *b) //也没用,和1一样,a,b的改变不能对&x,&y造成改动
32 {
33 int *tmp;
34 tmp=a;
35 a=b;
36 b=tmp;
37 }
38
39 void swap3(int *a,int *b) //可以.a的改动无效,但是直接改动*a可以!!:
40 {
41 int tmp;
42 tmp=*a;
43 *a=*b;
44 *b=tmp;
45 }
2010-04-20
ubuntu下tor使用
1.安装tor和privoxy
修改源
$ sudo gedit /etc/apt/sources.list
文件打开以后,把下面这两行添加到sources.list 文件末尾:
deb http://mirror.noreply.org/pub/tor etch main
deb-src http://mirror.noreply.org/pub/tor etch main
在终端中输入:
$ sudo apt-get update
apt-get会说缺少某key,不管,我这里直接进行也是可以的
或者:
gpg –keyserver keys.gnupg.net –recv 94C09C7F
gpg –export 94C09C7F | sudo apt-key add
$ sudo apt-get install tor privoxy
等一等就完成了。有可能缺少某些包,google以下找到安装好即可
2.打开/etc/privoxy/config
添加
forward-socks4a / localhost:9050 .
注意有一个 点
重启 privoxy
sudo /etc/init.d/privoxy restart
3.在Firefox中安装FoxyProxy
FoxyProxy默认支持tor,选择“文件”--“tor向导”,一路下一步即可.
4.或者将浏览器的代理设置成
127.0.0.1:8118
OK
PS:其实一般情况下Gappproxy是比较方便的选择!!不过其不支持blogger.com,而tor完美支持,但是速度不及Gappproxy
Update:
配置Bridges穿墙
由于某些万恶的原因,tor进场不能正常工作,这就需要我们用网桥来穿墙
1.获取网桥
用E-mail发送邮件至bridges@torproject.org
主题和内容均为”get bridges”,不包括括号,注意空格
很快或收到回复,内容应该是这个格式:
bridge ip地址:端口
一共有3个,记住,备用
2.配置Tor网桥
打开/etc/tor/torrc
在文件末尾添加”UseBridges 1“,不包括括号
将上面提到的邮件内容也复制过来,即:
UseBridges 1
bridge ip地址:端口
bridge ip地址:端口
bridge ip地址:端口
ps:有些文章提到上述内容后面有个fingerorint,即:
bridge ip地址:端口 fingerprint
我收到的没有,也可以使用
3: 重启tor和privoxy
sudo /etc/init.d/tor restart
sudo /etc/init.d/privoxy restart
主要参考:
http://xblandy.blog.ubuntu.org.cn/archives/93
http://bothlog.com/2009/10/30/ubuntu-9-10-%E5%AE%89%E8%A3%85tor/
http://bothlog.com/2009/09/27/%E5%9C%A8ubuntu%E4%B8%8Btor%E9%85%8D%E7%BD%AEbridges%E7%A9%BF%E5%A2%99/
修改源
$ sudo gedit /etc/apt/sources.list
文件打开以后,把下面这两行添加到sources.list 文件末尾:
deb http://mirror.noreply.org/pub/tor etch main
deb-src http://mirror.noreply.org/pub/tor etch main
在终端中输入:
$ sudo apt-get update
apt-get会说缺少某key,不管,我这里直接进行也是可以的
或者:
gpg –keyserver keys.gnupg.net –recv 94C09C7F
gpg –export 94C09C7F | sudo apt-key add
$ sudo apt-get install tor privoxy
等一等就完成了。有可能缺少某些包,google以下找到安装好即可
2.打开/etc/privoxy/config
添加
forward-socks4a / localhost:9050 .
注意有一个 点
重启 privoxy
sudo /etc/init.d/privoxy restart
3.在Firefox中安装FoxyProxy
FoxyProxy默认支持tor,选择“文件”--“tor向导”,一路下一步即可.
4.或者将浏览器的代理设置成
127.0.0.1:8118
OK
PS:其实一般情况下Gappproxy是比较方便的选择!!不过其不支持blogger.com,而tor完美支持,但是速度不及Gappproxy
Update:
配置Bridges穿墙
由于某些万恶的原因,tor进场不能正常工作,这就需要我们用网桥来穿墙
1.获取网桥
用E-mail发送邮件至bridges@torproject.org
主题和内容均为”get bridges”,不包括括号,注意空格
很快或收到回复,内容应该是这个格式:
bridge ip地址:端口
一共有3个,记住,备用
2.配置Tor网桥
打开/etc/tor/torrc
在文件末尾添加”UseBridges 1“,不包括括号
将上面提到的邮件内容也复制过来,即:
UseBridges 1
bridge ip地址:端口
bridge ip地址:端口
bridge ip地址:端口
ps:有些文章提到上述内容后面有个fingerorint,即:
bridge ip地址:端口 fingerprint
我收到的没有,也可以使用
3: 重启tor和privoxy
sudo /etc/init.d/tor restart
sudo /etc/init.d/privoxy restart
主要参考:
http://xblandy.blog.ubuntu.org.cn/archives/93
http://bothlog.com/2009/10/30/ubuntu-9-10-%E5%AE%89%E8%A3%85tor/
http://bothlog.com/2009/09/27/%E5%9C%A8ubuntu%E4%B8%8Btor%E9%85%8D%E7%BD%AEbridges%E7%A9%BF%E5%A2%99/
2010-04-19
订阅:
博文 (Atom)