摘要:
在 Linux 和 Windows 平台下,使用不同的函数发送和接收 socket 数据,下面我们分别讲解。 Linux下数据的接收和发送 Linux 不区分套接字文件和普通文件,使用 write() 可以向套接字中写入数据,使用 read() 可以从套接字中读取数据。前面我们说过,两台计算机之间的 阅读全文
摘要:
对于服务器端程序,使用 bind() 绑定套接字后,还需要使用 listen() 函数让套接字进入被动监听状态,再调用 accept() 函数,就可以随时响应客户端的请求了。 listen() 函数 通过 listen() 函数可以让套接字进入被动监听状态,它的原型为: int listen(int 阅读全文
摘要:
socket() 函数用来创建套接字,确定套接字的各种属性,然后服务器端要用 bind() 函数将套接字与特定的 IP 地址和端口绑定起来,只有这样,流经该 IP 地址和端口的数据才能交给套接字处理。类似地,客户端也要用 connect() 函数建立连接。 bind() 函数 bind() 函数的原 阅读全文
摘要:
在 here 一节中我们讲到了 Windows 和 Linux 在对待 socket 方面的区别。Linux 中的一切都是文件,每个文件都有一个整数类型的文件描述符;socket 也是一个文件,也有文件描述符。使用 socket() 函数创建套接字以后,返回值就是一个 int 类型的文件描述符。Wi 阅读全文
摘要:
WSAStartup()函数以及DLL的加载 WinSock(Windows Socket)编程依赖于系统提供的动态链接库(DLL),有两个版本: 较早的DLL是 wsock32.dll,大小为 28KB,对应的头文件为 winsock1.h; 最新的DLL是 ws2_32.dll,大小为 69KB 阅读全文
摘要:
本篇博客只是先展示一下代码,具体的编程相关请看后面的博客吧 服务器端代码 server.cpp 1 #include <stdio.h> 2 #include <winsock2.h> 3 4 #pragma comment(lib,"ws2_32.lib") 5 6 int main(int ar 阅读全文