发新帖
开启左侧

一个简单的Windows下的C语言socket程序

[复制链接]
714 0

上节演示了 Linux 下的 socket 程序,这节来看一下 Windows 下的 socket 程序。同样,server.cpp 为服务器端代码,client 为客户端代码。

服务器端代码 server.cpp:

Ijr0LTr3RNN8mux5.jpg

FqqwY17bjKtO2171.jpg

不管你是小白还是大牛,小编我都欢迎进C/C++共享资源群:231662552不定期分享干货,包括我自己整理的一份2018最新的学习资料和零基础入门教程,送给大家,欢迎初学和进阶中的小伙伴

客户端代码 client.cpp:

lv1gsR51asi1mAI5.jpg

将 server.cpp 和 client.cpp 分别编译为 server.exe 和 client.exe,先运行 server.exe,再运行 client.exe,输出结果为:

Message form server: Hello World!

Windows 下的 socket 程序和 Linux 思路相同,但细节有所差别:

1) Windows 下的 socket 程序依赖 Winsock.dll 或 ws2_32.dll,必须提前加载。DLL 有两种加载方式

2) Linux 使用“文件描述符”的概念,而 Windows 使用“文件句柄”的概念;Linux 不区分 socket 文件和普通文件,而 Windows 区分;Linux 下 socket() 函数的返回值为 int 类型,而 Windows 下为 SOCKET 类型,也就是句柄。

3) Linux 下使用 read() / write() 函数读写,而 Windows 下使用 recv() / send() 函数发送和接收。

4) 关闭 socket 时,Linux 使用 close() 函数,而 Windows 使用 closesocket() 函数。

z4WwGoG0K1GZ1gwJ.jpg

我有话说(0) 收起
请勿灌水,无意义回复,违者封号处理
您需要登录后才可以回帖 登录 | 加入驰为

本版积分规则

更多

客服中心

400-8296-288 周一至周日8:30-20:30 仅收市话费
快速回复 返回顶部 返回列表