工作方式

C# TCP应用编程一 概述

时间秒杀一切 提交于 2019-12-01 02:49:54
  TCP 是Transmission Control Protocol(传输控制协议)的简称,是TCP/IP 体系中面向连接的运输层协议,在网络中提供全双工的和可靠的服务。一旦通信双方建立了TCP 连接,连接中的任何一方都能向对方发送数据和接收对方发送来的数据。发送数据时,程序员可以通过程序不断将数据流陆续写入TCP 的发送缓冲区中,然后TCP 自动从发送缓冲区中取出一定数量的数据,将其组成TCP 报文段逐个发送给IP 层,再通过IP 层发送出去。接收端从IP 层接收到TCP 报文段后,将其暂时保存在接收缓冲区中,这时程序员就可以通过程序依次读取接收缓冲区中的数据,从而达到相互通信的目的。 TCP 协议最主要的特点是: 1) 是一种基于连接的协议。 2) 保证数据准确到达。 3) 保证各数据到达的顺序与数据发出的顺序相同。 4) 传输的数据无消息边界。 利用TCP 协议开发应用程序时,.NET 框架提供有两种工作方式,一种是同步工作方式,另一种是异步工作方式。   同步工作方式是指利用TCP 协议进行编程时程序执行到发送、接收和监听语句时,在未完成工作前不再继续往下执行,即处于阻塞状态,直到该语句完成某个工作后才继续执行下一条语句;异步工作方式是指程序执行到发送、接收和监听语句时,不论工作是否完成,都会继续往下执行。例如对于接收数据来说,在同步工作方式下

126 Kafka名词解释和工作方式

天涯浪子 提交于 2019-11-27 04:56:51
Producer : 消息生产者,就是向kafka broker发消息的客户端。 Consumer : 消息消费者,向kafka broker取消息的客户端 Topic : 可以理解为一个队列。 Consumer Group (CG): 这是kafka用来实现一个topic消息的广播(发给所有的consumer)和单播(发给任意一个consumer)的手段。一个topic可以有多个CG。topic的消息会复制(不是真的复制,是概念上的)到所有的CG,但每个partion只会把消息发给该CG中的一个consumer。如果需要实现广播,只要每个consumer有一个独立的CG就可以了。要实现单播只要所有的consumer在同一个CG。用CG还可以将consumer进行自由的分组而不需要多次发送消息到不同的topic。 Broker : 一台kafka服务器就是一个broker。一个集群由多个broker组成。一个broker可以容纳多个topic。 Partition: 为了实现扩展性,一个非常大的topic可以分布到多个broker(即服务器)上,一个topic可以分为多个partition,每个partition是一个有序的队列。partition中的每条消息都会被分配一个有序的id(offset)。kafka只保证按一个partition中的顺序将消息发给consumer

C# Socket编程(5)使用TCP Socket

落花浮王杯 提交于 2019-11-26 17:09:47
   TCP 协议 (Transmission Control Protocol,传输控制协议)是 TCP/IP体系中面向连接(connection oriented)的传输层(transport layer) , TCP协议 能够检测和恢复IP层提供的主机到主机的信道中可能发生的报文丢失、重复以及其他错误。由于TCP协议是一种面向连接协议:在使用它进行通信之前,两个应用程序之间首先要建立一个TCP连接。TCP能够在网络中提供双工和可靠的的服务。 阅读目录:     1.TCP概述    2.在.NET平台TCP应用的工作模式      2.1 了解TcpListener和TcpClient    3.解决TCP的消息无边界问题      3.1 发送固定长度的消息      3.2 将消息长度与消息一起发送      3.3 使用特殊标记分隔消息     4.一个同步TCP Socket示例   5.示例源码下载   6.进一步阅读&参考资料 1.TCP概述   通信双方建立了TCP连接后,双方就可以相互发送数据了。TCP负责把用户数据(字节流)按照一定格式和长度组成多个数据报进行发送,然后在接到数据报之后分解按顺序重新组装和恢复用户数据。 利用TCP传输数据时,数据时以字节的形式进行传输的。客户端和服务端建立连接后,发送数据方需要先将数据转换为字节流,然后将字节流发送到对方