黑马程序员--Socket 套接字编程
来源:互联网 发布:淘宝帐号注销2017 编辑:程序博客网 时间:2024/04/29 10:06
------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------
Socket是什么?
所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。
各个部分的含义:
1.服务端welcome Socket开始监听端口(负责监听客户端连接信息)
2.客户端client socket连接服务端指定端口(负责接收和发送服务端消息)
3.服务端welcoming socket监听到客户端连接,创建connection socket
(负责和客户端通信)
1.服务端的Socket(至少需要两个)
一个负责接收客户端连接请求(但不负责与客户端通信)
每成功接收到一个客户端的连接便在服务端产生一个对应的socket
这个socket在接收到客户端连接时创建,为每个连接成功的客户端请求在服务端都创建一个对应的socket(负责和客户端通信)
2.客户端的Socket
客户端Socket,必须指定要连接的服务端地址和端口.
通过创建一个Socket对象来初始化一个到服务端的TCP连接.
Socket的通讯过程
服务端:
申请一个Socket
绑定到一个IP地址和一个端口上.
开启侦听,等待接收连接.
客户端:
申请一个socket
连接服务器(指明IP地址和端口号)
服务端接到连接请求后,产生一个新的Socket(端口大于1024)与客户端建立连接并进行通讯,原侦听socket继续侦听.
备注:
几个概念:
TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网(WANs)设计的。
UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是属于TCP/IP协议族中的一种。
应用层 (Application):应用层是个很广泛的概念,有一些基本相同的系统级 TCP/IP 应用以及应用协议,也有许多的企业商业应用和互联网应用。
传输层 (Transport):传输层包括 UDP 和 TCP,UDP 几乎不对报文进行检查,而 TCP 提供传输保证。
网络层 (Network):网络层协议由一系列协议组成,包括 ICMP、IGMP、RIP、OSPF、IP(v4,v6) 等。
链路层 (Link):又称为物理数据网络接口层,负责报文传输。
UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是属于TCP/IP协议族中的一种。
应用层 (Application):应用层是个很广泛的概念,有一些基本相同的系统级 TCP/IP 应用以及应用协议,也有许多的企业商业应用和互联网应用。
传输层 (Transport):传输层包括 UDP 和 TCP,UDP 几乎不对报文进行检查,而 TCP 提供传输保证。
网络层 (Network):网络层协议由一系列协议组成,包括 ICMP、IGMP、RIP、OSPF、IP(v4,v6) 等。
链路层 (Link):又称为物理数据网络接口层,负责报文传输。
------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------
- 黑马程序员--Socket 套接字编程
- 黑马程序员--Socket(套接字)
- 黑马程序员<.net学习---Socket套接字>
- 黑马程序员--套接字
- Socket套接字编程
- socket套接字编程
- socket 套接字编程
- socket套接字编程
- 黑马程序员_什么是套接字(SOCKET),套接字基本知识
- 黑马程序员——套接字网络编程学习笔记
- 黑马程序员_网络编程之套接字
- 黑马程序员_java套接字
- PHP套接字编程(socket)
- 套接字socket高级编程
- WinCE Socket套接字编程
- 套接字和socket编程
- 【socket】TCP套接字编程
- Java套接字Socket编程
- 算法导论-----栈
- 算法导论-----队列
- 检索模型及评价指标小结
- 算法导论-----二叉搜索树
- SQL TRACE 知识库
- 黑马程序员--Socket 套接字编程
- 详解python实现FP-TREE进行关联规则挖掘(带有FP树显示功能)附源代码下载(2)
- jQuery Masonry
- 算法导论-----红黑树
- 基于虚拟仪器的电子产品现代化生产测试解决方案
- delete和new
- VS2010 编译 google V8 引擎 为 dll
- 本文是关于使用C++调用Matlab编译生成的Dll的说明
- web.py中使用Jinja2问题汇总