摘要: 对TCP/IP、UDP、Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。那么我想问:1. 什么是TCP/IP、UDP?2. Socket在哪里呢?3. Socket是什么呢?4. 你会使用它们吗?什么是TCP/IP、UDP? TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网(WANs)设计的。 UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是属于TCP/IP协议族中的一种。 这里有一张图,表明.. 阅读全文
posted @ 2011-11-17 20:00 猪特曼 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 1. 无废话,先上图2. 协议文档 1 协议概述协议说明 通过本协议可以实现Client与Server之间的消息传递1.2 连接方式l Socket连接方式以TCP/IP协议建立一个长连接, Server 监听IP和Port1.3 术语表 ClientMsg Client=>Server 消息 ServerMsg Server=>Client 消息 Server 代表服务器 Client 代表客户端 IP ServerIP地址 Port 端口2 消息包的定义—Socket连接2.1 基本格式消息包由消息头和消息体共同组成。项目说明消息头消息头部分消息体消息体部分消息中利用到如下数据 阅读全文
posted @ 2011-11-17 19:59 猪特曼 阅读(619) 评论(0) 推荐(0) 编辑
摘要: socket的英文原义是“孔”或“插座”。作为4BDS UNIX的进程通信机制,取后一种意思。通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。Socket正如其英文原意那样,象一个多孔插座。一台主机犹如布满各种插座的房间,每个插座有一个编号,有的插座提供220伏交流电, 有的提供110伏交流电,有的则提供有线电视节目。 客户软件将插头插到不同编号的插座,就可以得到不同的服务。套接字现象解释 socket非常类似 阅读全文
posted @ 2011-11-17 19:57 猪特曼 阅读(461) 评论(0) 推荐(0) 编辑
摘要: 要写网络程序就必须用Socket,这是程序员都知道的。而且,面试的时候,我们也会问对方会不会Socket编程?一般来说,很多人都会说,Socket编程基本就是listen,accept以及send,write等几个基本的操作。是的,就跟常见的文件操作一样,只要写过就一定知道。对于网络编程,我们也言必称TCP/IP,似乎其它网络协议已经不存在了。对于TCP/IP,我们还知道TCP和UDP,前者可以保证数据的正确和可靠性,后者则允许数据丢失。最后,我们还知道,在建立连接前,必须知道对方的IP地址和端口号。除此,普通的程序员就不会知道太多了,很多时候这些知识已经够用了。最多,写服务程序的时候,会使用 阅读全文
posted @ 2011-11-17 19:57 猪特曼 阅读(3404) 评论(1) 推荐(3) 编辑
摘要: Wireshark抓包分析TCP的建立与断开过程一、TCP建立连接说明:在此图中HostA充当客户端角色,HostB充当服务器角色。TCP是因特网中的传输层协议,使用三次握手协议建立连接。当主动方发出SYN连接请求后,等待对方回答SYN,ACK。这种建立连接的方法可以防止产生错误的连接,TCP使用的流量控制协议是可变大小的滑动窗口协议。第一次握手:建立连接时,HostA发送SYN包(SEQ=a)到HostB,并进入SYN_SEND状态,等待HostB确认。第二次握手:HostB收到SYN包后,必须确认HostA的SYN(ACK=a+1),同时自己也送一个SYN包(SEQ=b),即SYN+ACK 阅读全文
posted @ 2011-11-17 19:56 猪特曼 阅读(2504) 评论(0) 推荐(0) 编辑