HTTP/Socket .etc protocols implements in C#

HTTP vs TCP/IP

TCP (Transmission Control Protocol)和UDP(User Datagram Protocol)协议属于传输层协议。其中TCP提供IP环境下的数据可靠传输,它提供的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复用。通过面向连接、端到端和可靠的数据包发送。通俗说,它是事先为所发送的数据开辟出连接好的通道,然后再进行数据发送;而UDP则不为IP提供可靠性、流控或差错恢复功能。一般来说,TCP对应的是可靠性要求高的应用,而UDP对应的则是可靠性要求低、传输经济的应用。TCP支持的应用协议主要有:Telnet、FTP、SMTP等;UDP支持的应用层协议主要有:NFS(网络文件系统)、SNMP(简单网络管理协议)、DNS(主域名称系统)、TFTP(通用文件传输协议)等。

TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据。关于TCP/IP和HTTP协议的关系,网络有一段比较容易理解的介绍:“我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容,如果想要使传输的数据有意义,则必须使用到应用层协议,应用层协议有很多,比如HTTP、FTP、TELNET等,也可以自己定义应用层协议。WEB使用HTTP协议作应用层协议,以封装HTTP
文本信息,然后使用TCP/IP做传输层协议将它发到网络上。”

HTTP vs Socket

HTTP:超文本传输协议,首先它是一个协议,并且是基于TCP/IP协议基础之上的应用层协议。TCP/IP协议是传输层协议,主要解决数据如何在网络中传输,HTTP是应用层协议,主要解决如何包装数据。HTTP协议详细规定了浏览器与服务器之间相互通信的规则,是万维网交换信息的基础。HTTP是基于请求-响应形式并且是短连接,并且是无状态的协议。针对其无状态特性,在实际应用中又需要有状态的形式,因此一般会通过session/cookie技术来解决此问题。

Socket:Socket不属于协议范畴,而是一个调用接口(API),Socket是对TCP/IP协议的封装,通过调用Socket,才能使用TCP/IP协议。Socket连接是长连接,理论上客户端和服务器端一旦建立连接将不会主动断开此连接。Socket连接属于请求-响应形式,服务端可主动将消息推送给客户端。

时间: 2024-12-07 00:32:27

HTTP/Socket .etc protocols implements in C#的相关文章

Flex Socket与Java通信实例说明(转)

Flex Socket与Java通信实例说明(转) 这两天一直在flex的Socket ,现在终于懂了很多.由浅到深一步一步深入.慢慢体会实例,虽然实例都是在网上找的,但也经过了我的测试.我比较喜欢注释,也注释了很多. 跟着走你就会懂.. Flex端 和 Java端, 先运行Java端启动服务.然后在测试Flex. 实例一: Flex端: <?xml version="1.0" encoding="utf-8"?> <mx:TitleWindow

坑爹的RMI Socket Facotry

因为产品安全的需求,需要将之前老代码的RMI服务端口绑定到127.0.0.1.解决办法是通过Spring导出服务时设置自己的RMISocketFactory.在验证代码时发现自己实现的RMISocketFactory在有大量RMI请求时,会将造成系统的资源泄漏,导致请求时无法创建本地线程. 通过jconsole一看,原来在大量RMI请求时,生成了大量的RMI线程并且不会及时释放掉,而不自定义socketfactory则没有此问题. 公关了2天,各种尝试,今天终于找到的了原因:其实Oracle的F

JAVA SOCKET网络编程,服务端接收多个客户端连接的实现

这是基于前面一篇文章的一个简单扩展,当然这不是最好的实现 服务端如果要想接收多个客户端连接,必须死循环去接收新的客户端的连接请求,一个完整的客户端服务端socket连接通过一个线程来维护 package com.tree.demo.socket; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintWriter; import java.n

Delphi资源大全

A curated list of awesome Delphi frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff. Note that only open-source projects are considered. Dead projects are mainly ignored except for those which do not have alive analogs.

安全工具

Here is a list of security tools that have been collected from the internet. These tools are specifically aimed toward security professionals and enthusiasts/hobbyists for testing and demonstrating security weaknesses. These tools are created for the

UDP-TCP

一.网络相关基本概念     1.网络通信协议:是一种网络通用语言,为连接不同操作系统和不同硬件体系结构的互联网络引提供通信支持,是一种网络通用语言.通信协议的具体种类有很多,主要有:UDP协议和T    CP协议     2.UDP 协议:是 User Datagram Protocol 的简称, 中文名是'用户数据报协议'.是一种无连接的协议.传输效率很高;数据不安全,容易丢失;             特点:             1:面向无连接;             2:效率高; 

多client并发登录

//LoginClient.java package mySocket; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Socket; /** *client通过键盘录入username *服务端对这个username进行校验. * *假设该用户存在,在服务端显示xxx,已登录. *并在client显示xxx,欢迎光临. *

ExecutorService线程池

ExecutorService 建立多线程的步骤: 1.定义线程类 class Handler implements Runnable{} 2.建立ExecutorService线程池 ExecutorService executorService = Executors.newCachedThreadPool(); 或者 int cpuNums = Runtime.getRuntime().availableProcessors();                //获取当前系统的CPU 数

[055] SSL 3.0曝出Poodle漏洞的解决方案

SSL 3.0曝出高危漏洞 2014年10月15日,Google研究人员公布SSL 3.0协议存在一个非常严重的漏洞,该漏洞可被黑客用于截取浏览器与服务器之间进行传输的加密数据,如网银账号.邮箱账号.个人隐私等等.SSL 3.0的漏洞允许攻击者发起降级攻击,即欺骗浏览器说“服务器不支持更安全的安全传输层(TLS)协议”,然后强制其转向使用SSL 3.0,在强制浏览器采用SSL 3.0与服务器进行通讯之后,黑客就可以利用中间人攻击来解密HTTPs的cookies,Google将其称之为POODLE