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

本文作者:



相关阅读:
技巧:Linux2.6.18 SD卡驱动的修正
使用"ODC"文档在IE中直接连接SQL数据库
asp.net datalist 用法
UCenter Home站点添加统计代码
VBS教程:VBScript 语句-Set 语句
PHP新手上路(八) 文件上传
PHP MSSQL 存储过程的方法
PHP教程:基于正则表达式替换的模板引擎
Win server 2003的基本优化设置
jquery中获得$.ajax()事件返回的值并添加事件的方法
oracle中将字典管理表空间转换为本地管理表空间
使用PHP和XSL stylesheets转换XML文档
VBScript压缩单个文件为zip格式
asp 延时 页面延迟的三种方法
快速导航

Copyright © 2016 phpStudy |