随笔分类 - 传输协议
用TCP/IP实现自己简单的应用程序协议:最后再返回来看HTTP协议
摘要:之前我们实现了一个自己的应用层的协议,功能非常简单,只包括了最基本的成帧和解析功能。不过有了这些基础,我们再返回来看看现在在互联网上最通行的http协议,就会容易懂得许多。http具体是做什么的,网上面讲解很多,比如:我们知道,Internet的基本协议是TCP/IP协议,然而在TCP/IP模型最上层的是应用层(Application layer),它包含所有高层的协议。高层协议有:文件传输协议FTP、电子邮件传输协议SMTP、网络新闻传输协议NNTP和HTTP协议等。 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地.
阅读全文
用TCP/IP实现自己简单的应用程序协议:其余部分(包括完整代码)
摘要:接着上次用TCP/IP实现自己简单的应用程序协议:成帧器部分,现在把接下来的部分也说完点击下载完整源码:客户端的调用: public class VoteClientTCP { public static int CANDIDATEID = 888;//随便写了一个 public static void Main(String[] args) { int port = 5555; IPEndPoint ipep = new IPEndPoint(GetLocalhostIPv4Addresses().First(), port); Socket sock = new Socket(Addres
阅读全文
用TCP/IP实现自己简单的应用程序协议:成帧器部分
摘要:在前面《字节和字符,对信息进行编码》,《Socket=>流,TCP连接,TCP可靠性概述》一系列的随笔中我们已经表述了相应的理论知识,现在可以动手实现一个自己的应用程序协议。将数据转换成在线路上传输的字节序列只完成了一半的工作,在接收端还必须将接受到的字节序列还原成原始信息。如果以流作为传输的形式,那么首先面临的问题就是在接收端如何确定这是一条消息,换句话说就是如何定位一条消息的开始和结束。值得注意的是,这个工作应该是在应用程序协议这一层来完成而不是在TCP这一层来完成,应用程序协议必须指定消息的接受者如何确定何时消息已完整接收。TCP协议中没有消息边界的概念,这会让我们在解析信息的时候
阅读全文