`
xumingyong
  • 浏览: 183534 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

TCP Socket类型

阅读更多

对于许多初学者来说,网络通信程序的开发,普遍的一个现象就是觉得难以入手。许多概念,诸如:同步 (Sync)/ 异步 (Async) ,阻塞 (Block)/ 非阻塞 (Unblock) 等,初学者往往迷惑不清,只知其所以而不知起所以然。

 

同步方式指的是发送方不等接收方响应,便接着发下个数据包的通信方式;而异步指发送方发出数据后,等收到接收方发回的响应,才发下一个数据包的通信方式。

 

          阻塞套接字是指执行此套接字的网络调用时,直到成功才返回,否则一直阻塞在此网络调用上,比如调用 recv() 函数读取网络缓冲区中的数据,如果没有数据到达,将一直挂在 recv() 这个函数调用上,直到读到一些数据,此函数调用才返回;而非阻塞套接字是指执行此套接字的网络调用时,不管是否执行成功,都立即返回。比如调用 recv() 函数读取网络缓冲区中数据,不管是否读到数据都立即返回,而不会一直挂在此函数调用上。在实际 Windows 网络通信软件开发中,异步非阻塞套接字是用的最多的。平常所说的 C/S (客户端 / 服务器)结构的软件就是异步非阻塞模式的

分享到:
评论

相关推荐

    TCP socket服务端代码 C#

    1. **创建Socket对象**:首先,我们需要创建一个Socket对象,指定它的地址族(通常为InterNetwork,表示IPv4)和套接字类型(Stream,表示TCP)。 ```csharp Socket serverSocket = new Socket(AddressFamily....

    Tcp Socket client实例

    1. **创建Socket对象**:使用特定的地址族(通常是AF_INET)和套接字类型(SOCK_STREAM表示TCP)创建Socket对象。 2. **构造服务器地址**:定义服务器的IP地址和端口号,通常是通过结构体如sockaddr_in来实现。 3....

    欧姆龙TCP UDP Socket网络通讯.zip

    - Socket分为两种主要类型:TCP Socket和UDP Socket。TCP(传输控制协议)提供面向连接、可靠的数据传输服务,而UDP(用户数据报协议)则是一种无连接、不可靠的服务,但具有更高的传输速度。 2. **TCP Socket**:...

    C# TCP Socket 通讯 实例

    - `new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)`:用于创建一个新的Socket实例,指定IPv4地址族、流式Socket类型和TCP协议。 - `Connect()`:客户端用于连接到服务器的指定端口...

    Tcp Socket源码C#使用十分方便简单

    1. 创建一个Socket对象,指定其地址族(通常为InterNetwork)、套接字类型(Stream,对应TCP)和服务类型(TCP)。 2. 绑定Socket到特定的IP地址和端口号,使用`Bind()`方法。 3. 开始监听客户端连接,使用`Listen()...

    c# tcpsocket 原生代码编写 客户端和服务端程序

    2. 同样设置Socket类型和协议。 3. 使用Connect方法连接到服务端的IP地址和端口。 4. 通过Socket的Send方法发送数据,Receive方法接收数据。 5. 完成数据交换后,关闭Socket连接。 在实际开发中,为了提高代码的...

    C# TCP Socket 分包传送数据

    1. **创建Socket对象**:首先,创建一个Socket对象,并指定协议类型(如IPv4或IPv6)和套接字类型(Stream表示TCP)。 ```csharp var socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ...

    tcp_socket.rar_TCP socket_socket_socket tcp_socket-tcp

    1. **创建套接字**:使用`socket()`函数创建一个新的套接字,指定协议族(如AF_INET)和套接字类型(如SOCK_STREAM,对应TCP)。 2. **绑定套接字**:通过`bind()`函数将套接字与特定的IP地址和端口号关联,允许...

    TCP-SOCKET.zip_CSharp socket tcp_TCP socket_socket_socket server

    - 创建Socket实例:首先创建一个Socket对象,指定协议类型为SocketType.Stream,表示使用TCP协议。 - 绑定与监听:使用Bind方法绑定到特定的IP地址和端口,然后调用Listen方法开始监听连接请求。 - 接受连接:...

    Tcp.rar_TCP c++封装_TcpSocket_c++ TCPsocket

    这个“Tcp.rar”压缩包中包含了作者自己封装的TCPSocket类,用于在C++项目中构建TCP通信。 首先,TCP的特性包括: 1. 面向连接:在数据传输前,必须先建立连接,即三次握手过程。 2. 可靠性:通过序列号、确认应答...

    tcp socket通讯库

    1. **创建套接字**:使用`socket()`函数创建一个套接字对象,指定协议族(通常为AF_INET)和套接字类型(通常为SOCK_STREAM,对应TCP)。 2. **绑定地址**:使用`bind()`函数将套接字与本地IP地址和端口号关联,...

    TCP_Socket.rar

    参数包括协议族(如PF_INET代表IPv4)、服务类型(如SOCK_STREAM代表TCP)和协议号(通常是0,系统会自动选择TCP)。 2. **绑定Socket**: `bind()`函数将Socket与特定的IP地址和端口号关联。结构体`sockaddr_in`...

    tcp_client_socket.rar_TCP socket_client_socket_socket tcp_socket

    1. **创建socket**:首先,使用`socket()`函数创建一个socket对象,这需要指定协议族(通常为AF_INET,表示IPv4)和套接字类型(如SOCK_STREAM,表示TCP)。 2. **服务器地址结构化**:使用`sockaddr_in`结构体来...

    TCP_Socket.zip_MFC TCP socket_MFC socket_TCP_Socket.zip_mfc tcp

    在本压缩包"TCP_Socket.zip"中,包含的是一个MFC实现的TCP套接字服务器的示例,名为"TCP SocketDemo 1.2"。这个示例主要展示了如何在MFC环境中使用TCP套接字进行通信。 TCP(Transmission Control Protocol)是一种...

    TCP/UDP socket 调试工具

    ★ 在一个程序内可进行多句柄/多类型的Socket的创建/删除/以及数据收发等操作 ★ 支持16进制的发送和16进制接收显示,支持汉字以及文本发送 ★ 用户可以方便的把接收到的数据保存下来 ★ 支持发送、接收字节数统计 ...

    socket文件传输(TCP)源码实例

    在C++或Java等语言中,这通常通过调用`socket()`函数来实现,指定协议族(如AF_INET代表IPv4)和套接字类型(如SOCK_STREAM代表TCP)。 2. **绑定(Bind)**:服务器端需要将socket与特定的IP地址和端口号绑定,...

    TcpSocket 包含服务器和客户端

    TCP套接字(TcpSocket)是网络编程中的基础组件,主要负责在互联网上实现不同设备间的通信。在本文中,我们将深入探讨TCP套接字的工作原理、服务器与客户端的交互过程,以及如何在实际编程中应用TCP套接字。 TCP...

    Python编写的简单的UDP和TCPSocket连接的客户端-服务器程序

    2. 创建Socket对象:使用`socket.socket()`函数,指定协议族(通常为AF_INET,表示IPv4)和套接字类型(SOCK_STREAM,表示TCP)。 3. 连接服务器:使用`connect()`方法,传入服务器的IP地址和端口号。 4. 发送和接收...

    c实现TCP的socket编程

    它需要三个参数:协议族(通常为AF_INET代表IPv4或AF_INET6代表IPv6)、套接字类型(如SOCK_STREAM代表TCP)以及协议(通常为0,系统会自动选择合适的TCP协议)。 2. **地址结构体**:在TCP通信中,我们需要指定...

    tcp_socket.zip_TCP客户端_c TCP socket_socket tcp

    1. **创建套接字**:使用`socket()`函数创建套接字,它需要三个参数:协议族(如AF_INET代表IPv4),套接字类型(如SOCK_STREAM代表TCP),以及协议号(通常为0,让系统自动选择)。 2. **绑定地址**:对于服务器端...

Global site tag (gtag.js) - Google Analytics