Socket编程:由Linux向Windows移植问题
转自:http://www.cic.tsinghua.edu.cn/jdx/book1/CHAPTER3.htm
在源文件开始增加#include <winsock.h>语句。
调用WSAStartup()函数初始化Windows Sockets DLL,并在结束时调用WSACleanup()函数通知Windows Sockets DLL释放资源。
将套接字的类型为int改为SOCKET。
获取、设置错误码不要使用全局变量errno, 将其改为Windows Sockets推荐的WSAGetLastError()函数和WSASetLastError()函数。
使用closesocket()函数代替close()函数来关闭套接字;使用ioctlsocket()函数代替ioctl()函数和fcntl()函数实现对套接字模式的控制。
getsockopt()函数和setsockopt()函数在Berkeley Sockets和Windows Sockets中提供的支持不同,源程序可能要做必要的修改。详见第六章函数的使用说明。
将源程序中对结构fd_set的直接修改改为通过使用FD_XXX宏来修改。
将源程序中错误码改为Windows Sockets推荐的以WSA打头的常数定义值。
将Windows Sockets应用程序的指针都设为FAR类型。
最好将源程序中的阻塞调用改为Windows Sockets推荐使用的基于消息的异步操作。
相关文档:
http://hi.baidu.com/vsgp/blog/item/0daae64589a3852fcffca3e7.html
1、安装vsftpd
终端输入:sudo apt-get install vsftpd
安装了之后会在/home/下建立一个ftp目录。这时候你可以试着访问下ftp://IP地址。应该可以看到一个空白内容的ftp空间。
启用:sudo /etc/init.d/vsftpd start
停用:sudo /etc/init.d/ ......
我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败。如何让命令提交后不受本地关闭终端窗口/网络断开连接的干扰呢?下面举了一些例子, 您可以针对不同的场景选择不同的方式来处理这个问题。
nohup/setsid/&
场景:
如果只 ......
在Windows中可以在某些路径中查找文件,也可以设定不在某些路径中查找文件,下面用Linux中的find的命令结合其-path -prune参数来看看在Linux中怎么实现此功能。
假如在当前目录下查找文件,且当前目录下有很多文件及目录(多层目录),包括dir0、dir1和dir2 ...等目录及dir00、dir01...dir10、dir11...等子目录。
......
linux
下用C实现‘CAT’的功能
#include<stdio.h>
int main(int argc,char *argv[]){
FILE *file;
char buf[1024],name[20];
int n;
if(argc != 2){
printf("wrong argument\n");
return 1;
}
file=fopen(argv[1],"r");
if(file==NULL){
printf("Cant't open!\n&quo ......
安装时硬盘空间不足
挂载一个新硬盘
先将虚拟机Power Off,在Virtual Machine Setting对话框里点击左下角的“Add”,选择“Hard Disk”,之后选择“Create a new virtual disk”,分配容量,其他默认配置。
启动虚拟机系统,用 ......