TCP是一种可靠的,面向连接的协议。
在socket中,建立TCP连接的过程大致如下:
服务器端:
1.初始化套接字
2.创建服务器socket
3.将本机地址与服务器socket绑定在一起
4.服务器开始监听
5.服务器确认请求(确认之前时一种阻塞的状态),accept()函数生成一个新的socket。
6.用新生成的socket接收数据
客户端:
1.初始化套接字
2.生成与服务器连接的socket
3.将socket与服务器进行连接
4.向服务器发送数据
以上过程需要用到以下一些函数:
1.SOCKET socket(int 地址族,int 套接字类型,int 协议类型),返回生成的SOCKET
2.int bind(SOCKET 要绑定的套接字,const sockaddr* 要绑定的地址的结构体的指针,int 第二个参数的长度)
将套接字绑定到指定的网络地址上,一般在connect()或listen()函数前调用。
在服务器端,用作监听客户端连接请求的套接字一定要经过绑定。
在客户端使用的套接字一般不必绑定,除非要指定它使用特定的网络地址。
在服务器端,用作监听客户端连接请求的套接字一定要经过绑定。
在客户端使用的套接字一般不必绑定,除非要指定它使用特定的网络地址。
3. int listen(SOCKET 要监听的套接字,int 最大允许等待连接长度)
适用于支持连接的套接字。仅用于服务器。
4.SOCKET accept(SOCKET 监听套接字,sockaddr* 客户端的地址结构,int* 客户端地址长度)
accept函数将从listen的等待队列中抽取出一个项,建立TCP连接,返回一个已经经过了连接的新的套接字。
若队列中没有连接请求,当:
阻塞方式时,该函数阻塞调用它的进程。
非阻塞方式时,该函数返回一个错误代码。

本文介绍了如何使用Socket在TCP协议下实现服务器和客户端的通信流程。涉及的主要步骤包括服务器的初始化、绑定、监听和接受连接,以及客户端的初始化、连接和数据交换。通过关键函数如socket(), bind(), listen(), accept(), connect(), recv()和send(),详细阐述了TCP连接的建立和数据传输过程。"
119202048,8246461,Visual Studio Code 中编写 Python 程序入门,"['Python', '编程语言', 'VS Code', '代码编辑器']

2500

被折叠的 条评论
为什么被折叠?



