socket编程之中的一个:计算机网络基础
在開始学习网络之前先复习下计算机网络基础吧。
鲁迅说,天下文章一大抄。看你会炒不会炒,基础知识就抄抄书吧。
一 分层模型
1 为什么分层
为了简化网络设计的复杂性。通讯协议採用分层结构。各层协议之间既相互独立又相互高效的协调工作。
对于复杂的通信协议。其结构应该是採用层次的。分层的协议能够带来非常多便利:
分层的优点有:
a> 灵活性好:当不论什么一层发生变化时,仅仅要层间接口关系保持不变,则在这层以上或下面各层均不受影响。
此外,对某一层提供的服务还可进行改动。当某层提供的服务不再须要时,甚至能够将这层取消。更easy管理。
b> 各层之间是独立的:在各层间标准化接口。同意不同的产品仅仅提供各层功能的一部分,某一层不须要知道它的下一层是怎样实现的,
而只须要知道该层通过层间的接口所提供的服务。
因为每一层只实现一种相对独立的功能,所以比較easy实现!
2 分层
标准七层结构和有用五层结构
socket详细相应那的应该是运输层和网络层。
二 socket简单介绍
socket即套接字。最原始的socket是继承unix系统中。后来微软推出了winsocket。
socket编程会中涉及到一些地址。port,字节序等概念,最好是了解下。
这里就直接说socket建立连接的过程了,如图:
大致分为三个大的步骤:
1 服务端监听
2 client请求连接
3 连接确认
下一节在具体的说具体的连接步骤吧。
socket编程之中的一个:计算机网络基础的更多相关文章
- 27、通过visual s'tudio 验证 SOCKET编程:搭建一个TCP服务器
		
本文就是在windows下进行socket编程,搭建一个TCP客户端. 在visual studio下编程,首先在windows下进行初始化(这点在linux下是不需要的): /* 初始化 Winso ...
 - Socket编程——怎么实现一个服务器多个客户端之间的连接
		
package coreBookSocket; import java.io.IOException; import java.net.ServerSocket; import java.net. ...
 - Socket编程回顾,一个最简单服务器程序
		
第一次接触服务器是快毕业的时候,是不是有点晚(# ̄ω ̄),这也导致工作方向一直没考虑网络编程这块,做了好多其他没啥“意思”的技术. 之前看到一篇博文提到程序猿80%都是庸才,10%是人才,10%是天才 ...
 - C#socket编程之实现一个简单的TCP通信
		
TCP(TransmissionControl Protocol)传输控制协议. 是一种可靠的.面向连接的协议(eg:打电话).传输效率低全双工通信(发送缓存&接收缓存).面向字节流.使用TC ...
 - jquery-mobile 学习笔记之中的一个(基础属性)
		
写在前面 本文是依据w3c 学习轨迹,自己研习过程中记录下的笔记,仅仅供自己学习轨迹记录之用,不喜勿喷. 0 引入库 引入相应的文件: <link rel="stylesheet&qu ...
 - Android应用开发提高篇(4)-----Socket编程(多线程、双向通信)
		
链接地址:http://www.cnblogs.com/lknlfy/archive/2012/03/04/2379628.html 一.概述 关于Socket编程的基本方法在基础篇里已经讲过,今天把 ...
 - 【VS开发】socket编程原理
		
socket编程原理 1.问题的引入 1) 普通的I/O操作过程: UNIX系统的I/O命令集,是从Maltics和早期系统中的命令演变出来的,其模式为打开一读/写一关闭(open-write-rea ...
 - Go语言系列- Socket编程和Redis
		
Socket编程 一.socket编程概述 什么是socket编程? socket编程是计算机PC机器上2个程序通过一个双向的通信连接实现数据的交互,这个连接的一端就是一个socket.socket的 ...
 - winsock教程- windows下的socket编程(c语言实现)
		
winsock教程- windows下的socket编程(c语言实现) 使用winsock进行socket 编程 这是一个学习windows下socket编程(c语言)的快速指南.这是因为一下 ...
 
随机推荐
- rest_framework_HyperlinkedIdentityField
			
#生成链接 HyperlinkedIdentityField class UserInfoSerializer(serializers.ModelSerializer): group = serial ...
 - python-logging写日志编码问题
			
python-logging写日志编码问题 标签(空格分隔): python 修改logging.FileHandler() 指定编码格式为:utf8 重新运行
 - SQL_触发器学习
			
--触发器学习-------------------------------------------------------------------------------after 触发器----- ...
 - UI Framework-1: Browser Window
			
Browser Window The Chromium browser window is represented by several objects, some of which are incl ...
 - 运营商 WLAN
			
运营商 WLAN 运营商 WLAN 是 Android 9 中引入的一项功能,该功能可让设备自动连接到运营商实现的 WLAN 网络.在高度拥塞或信号覆盖范围较小的区域(如体育场或地铁站),运营商 WL ...
 - tf.cast(ndarray,dtype)
			
转化为指定的类型,一般是将bool类型转化为其他的数据类型,例如:tf.float32
 - ML words
			
samples:样本 multi-dimensional entry / multivariate data:多属性记录 features:特征,属性 supervised learning:监督学习 ...
 - SSL和SSH
			
简单的来说:SSL是安全传输的一种安全协议,SSH只是在传输的时候为了防止"中间人"篡改数据而提供的安全的"通道" 在使用的时候我们只关心传输数据的安全性,那么 ...
 - c3p0-config.xml
			
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE xml> <c3p0-confi ...
 - bzoj1612 Usaco08 Jan 牛大赛
			
水题模拟 建一个图,每两个牛进行比赛就连一条边,然后两遍dfs求出比他弱和比他强的牛,最后如果相加数量等于n,说明他能与全部的牛进行比较,排名确定. #include<bits/stdc++.h ...