首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Linux频道
Google
首页 入门 Linux编程 系统管理 网络管理 Linux认证 Unix/BSD Linux数据库 Linux集群 Linux手册 Linux下载 Ubuntu 论坛 专题 RSS
您现在的位置: 中国IT实验室 >> Linux >> 系统管理 >> 系统管理 >> 正文

Socket相关程序:从Windows移植到Linux

    socket相关程序从windows移植到linux下需要注意的

    1)头文件

    windows下winsock.h/winsock2.h

    linux下sys/socket.h

    错误处理:errno.h

    2)初始化

    windows下需要用WSAStartup

    linux下不需要

    3)关闭socket

    windows下closesocket(……)

    linux下close(……)

    4)类型

    windows下SOCKET

    linux下int

    如我用到的一些宏:

    #ifdef WIN32

    typedef int socklen_t;

    typedef int ssize_t;

    #endif

    #ifdef __LINUX__

    typedef int SOCKET;

    typedef unsigned char BYTE;

    typedef unsigned long DWORD;

    #define FALSE 0

    #define SOCKET_ERROR (-1)

    #endif

    5)获取错误码

    windows下getlasterror()/WSAGetLastError()

    linux下errno变量

    6)设置非阻塞

    windows下ioctlsocket()

    linux下fcntl()

    7)send函数最后一个参数

    windows下一般设置为0

    linux下最好设置为MSG_NOSIGNAL,如果不设置,在发送出错后有可 能会导致程序退出。

    8)毫秒级时间获取

    windows下GetTickCount()

    linux下gettimeofday()

    多线程

    多线程: (win)process.h ——〉(linux)pthread.h

    _beginthread ——> pthread_create

    _endthread ——> pthread_exit

【责编:Zenghui】
中国IT教育
相关产品和培训
文章评论
 友情推荐链接
 专题推荐

 ·防范Linux病毒 打造没有病毒的乐土…
 ·Linux Shell编程实用指南…
 ·Linux日志分析与管理
 ·揭密Linux内存管理
 ·邮件服务Sendmail应用配置
 ·Linux 安全管理…
 ·Linux 下DNS服务器架设攻略…
 ·Linux 下的路由的配置与应用…
 ·专题:Apache实用手册
 ·全面剖析Linux文件系统
 今日更新
 认证培训
 频道精选
 Windows频道导航