Linux与Windows下的网络编程区别
来源:http://www.tudoupe.com时间:2022-05-03
对不起,博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、、博客、、博客、博客、博客、博客、、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、、博客、博客、博客、博客、、博客、、博客、、
从 Windows 到 Linux, Socket 是一个需要关注的应用程序 :
1)头文件
视窗禁用 Winsock.h/Winsock2.h.
在Linux的地下系统/口袋h
错误处理: 错误no. h
2)初始化
在Windows,我们需要WSAStartup。
Linux下不需要
(3) 套接合器
缩缩
在 Linux 的下切(..)
4)类型
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)获取错误码
Getlaster ()/ WSAGet LastError () 窗口列表如下 。
在下边的 Linux 变量
6)设置非阻塞
Window octlocket 和下
Linux下fcntl() <fcntl.h>
7) send the 函数的最后一个参数
在 Windows 下, 常规设置设为 0 。
MSG_NOSignAL 比较适合 Linux 。 否则, 可能会在出错后导致程序退出 。
8)毫秒级时间获取
在 Windows 中获取 TickCount ()
Linux 的日落时间()
3、多线程
进程.h- Linux pthread.h (win)
_beginthreadx --> pthread_create
_endthreadx --> pthread_exit
一. Linux套接字编程:
1. 以下是客户实施的各个阶段:
socket()
connect()
(发送)或收件人()
close()
值得指出的是,连接预填地址结构; IP地址经常被转换为使用 inet_ aton () 的网络字节序列 。
2、服务器端:
socket()
bind()
listen()
accpet()
(Sent) 或 rev()
close()
(ps:Stemming通常与无阻塞性区分开来,方法是设定最后一个参数,即 " Transmit() " 和 " recev())至 " 0 " 或 " 1 ",其中0表示区块,1表示 " 非阻塞性 " 。 )
二. 视窗网络编程:
微软的微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软软微软软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微软微的微软微软微的微软微软微软微软微软微软微软微软微软微软微的微软微软微声声、微声、微声声。。
如果对具有上层的 API 函数使用 csocket 类来定义对象 obj, 网络编程程序如下:
客户端:
obj.Create()
obj.Connect()
我不知道你在说什么 obj.Received () 或obj. Send ()
obj.Close()
服务器端:
为检测协议存储处的安装情况,请使用 AfxSocketInit () 。
obj.Create()
obj.Listen()
obj.Accpet()
我不知道你在说什么 obj.Received () 或obj. Send ()
obj.Close()
2. 使用底部 API 函数的步骤如下:
客户端:
WSAStartup()
socket()
connect()
(发送)或收件人()
closesocket()
服务器端:
WSAStartup()
socket()
bind()
listen()
accpet()
send()
recv()
closesocket()
(ps: Windows 类 CSocket 是同步的, 与干扰同步; CASyncSocket 是一种积极和不可阻挡的事件 。)
这一比较表明,Linux的网络编程与Windows的API相似,但有区别:
其中一个显著特点是Windows下增加了WSAStartartup()方法。
区分二:关闭套接字: Linux 关闭 () 和窗口关闭套接字 ()
在 Windows 中, 较高的 API 通常在 CSocket 和 CASynSocket 类别中使用 。
在此情况下, 以下套接字函数通常会随首字母资本化 。 此外, 底端 API, 无论是在 Windows 或 Linux 下, 都有套接字函数的首字母 。
上一篇:win10安装应用显示错误
下一篇:windows常用的dos命令
相关新闻
- 2022-08-04 WPF的由来
- 2022-08-04 Win11勒索软件防护怎么打开?Win11安
- 2022-08-04 Windows系统jdk的配置
- 2022-08-04 Windows10 OneNote怎么重新登录?如何重
- 2022-08-04 超好用的 Windows 效率工具推荐
- 2022-08-04 Windows如何在CMD或PowerShell中配置代理
- 2022-08-04 powershell和cmd对比
- 2022-08-04 【QT】Windows下QT下载安装
- 2022-08-04 windows下 C++ 实现类属性的get和set方
- 2022-08-04 Win11快速助手在哪里?Win11打开快速
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
