易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 : linux

Linux 套接字编程中的 5 个隐患

 
Linux 套接字编程中的 5 个隐患
在异构环境中开发可靠的网络应用程序
级别: 中级
M. Tim Jones
(mtj@mtjones.com
), 资深软件工程师, Emulex
2005 年 10 月 08 日
Socket API 是网络应用程序开发中实际应用的标准 API。尽管该 API 简单,但是开发新手可能会经历一些常见的问题。本文识别一些最常见的隐患并向您显示如何避免它们。
在 4.2 BSD UNIX® 操作系统中首次引入,Sockets API 现在是任何操作系统的标准特性。事实上,很难找到一种不支持 Sockets API 的现代语言。该 API 相当简单,但新的开发人员仍然会遇到一些常见的隐患。
本文识别那些隐患并向您显示如何避开它们。
隐患 1.忽略返回状态
第一个隐患很明显,但它是开发新手最容易犯的一个错误。如果您忽略函数的返回状态,当它们失败或部分成功的时候,您也许会迷失。反过来,这可能传播错误,使定位问题的源头变得困难。
捕获并检查每一个返回状态,而不是忽略它们。考虑清单 1 显示的例子,一个套接字 send
函数。
清单 1. 忽略 API 函数返回状态
int status, sock, mode;
/* Create a new stream (TCP) socket */
sock = socket
( AF_INET, SOCK_STREAM, 0 );
...
status ......

关于linux下上传文件

 好明确地讲给大家听,在win xp telnet ,是不没办法把文件上传到远程主机,但有软件可以实现,就是putty
首先然是在百度打上putty,然后下这个软件下来,之后解压出来,再之后就找到psftp.exe
然后:open IP/域名
login:
password:
自己输入。
之后cd命令是打开远程主机的目录,
lcd 是打开本地电脑的文件,
之后再用put命令上传例如要把本地D盘的1.txt上传到远程主机home/1中
登陆后,cd home
cd 1
lcd D:\
put 1.txt
完成......... ......

COW copy on write linux 开博啦。哈哈


今天看Linux的内容时找到的。 但运行时发现copy时地址已经不值向同一块内存了。为什么呢??
STL标准模板库中的string类,也是一个具有写时才拷贝技术的类。C++曾在性能问题上被广泛地质疑和指责过,为了提高性能,STL中的许多类都采用了Copy-On-Write技术。通常,string类中必有一个私有成员,其是一个char*,用户记录从堆上分配内存的地址,其在构造时分配内存,在析构时释放内存。因为是从堆上分配内存,所以string类在维护这块内存上是格外小心的,string类在返回这块内存地址时,只返回const char*,也就是只读的,如果你要写,你只能通过string提供的方法进行数据的改写。
main()
{
string str1 = "hello world";// string str1 ("hello world"); 调用的是构造函数
    string str2 = str1; // string str2 (str1); 调用的是拷贝构造函数
//此时str1,str2共享内存
    printf ("Sharing the memory:\n");
    printf ("\tstr1's address: %x\n", str1.c_str() );
    printf ("\tstr2's address: %x\n", str2.c_str() );
    str1[1]='q';
    str2[1]='w'; ......

linux服务器配置

 vsftp服务器:
在/etc/vsftpd目录下共有3个配置文件,它们分别是:
ftpusers:它指定了哪些用户账户不能访问FTP服务器,例如root等。
user_list:该文件里的用户账户在默认情况下也不能访问FTP服务器,仅当vsftpd .conf配置文件里启用userlist_enable=NO选项时才允许访问。
vsftpd.conf:它是一个文本文件,我们可以用Kate、Vi等文本编辑工具对它进行修改,以此来自定义用户登录控制、用户权限控制、超时设置、服务器功能选项、服务器性能选项、服务器响应消息等FTP服务器的配置。
1.匿名登录
默认情况下允许匿名登录,用户可以在命令行窗口中输入:ftp ftp所在服务器的IP,然后输入用户名anonymous,密码任意.就可以登录了。
2.使用root用户登录
在文件ftpusers,user_list中注释或删除root用户即可.
3.只允许下载,不允许上传
cmds_allowed=ABOR,CMD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,SIZE,STOR,TYPE,USER
在cmds_allowed中去掉STOR就可以了。
注意cmds_allowe这段
以下是这段相关命令的说明:(要注意的是,这行里面不能换行,不能有空格)
# ABOR - abort a file transfer 取消文件传输
# CWD - change working directory 更改目录
# DELE ......

linux服务器配置

 tftp服务:
tftp是和xinetd服务有依赖关系的,所以安装tftp的时候,要先安装 xinted服务。
范例:
/etc/xinetd.d/tftp
service tftp
{
        disable   = yes
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.t ......

linux ubuntu上传文件限制

ubuntu做服务器
在上传文件的时候默认情况下上传文件大小限制是2M
如果要上传大文件的话需要设置一下/etc/php5/apache2/php.ini(我安装的是php5,如果不是的话直接尝试找到php.ini,事先说好,这个没有测试过)
upload_max_filesize = 50M
post_max_size =50M
max_execution_time =600
max_input_time =600
memory_limit = 64
如果这样设置的话,上传3,4十M 的东西肯定没有问题
当然,这样的设置并不一定是最佳搭配,自己琢磨着来吧
另外就是上传文件时的临时路径要有足够的权限 ......
总记录数:5772; 总页数:962; 每页6 条; 首页 上一页 [757] [758] [759] [760] 761 [762] [763] [764] [765] [766]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号