黑马程序员<.net学习---Socket套接字>
2013-09-21 22:25
204 查看
---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流!
----------------------
今日学习内容:Socket套接字
socket的概念:
socket的英文原义是“孔”或“插座”。作为进程通信机制,取后一种意思。通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句
柄。
socket非常类似于电话插座。以一个国家级电话网为例,电话的通话双方相当于相互通信的2个进程,区号是它的网络地址;区内一个单位的交换机相当于一台主机,主机分配给每个用户的局内号码相当于socket号。任何用户在通话之前,首先要占有一部电话机,相当于申请一个socket;同时要知道对方的号码,相当于对方有一个固定的socket。然后向对方拨号呼叫,相当于发出连接请求(假如对方不在同一区内,还要拨对方区号,相当于给出网络地址)。假如对方在场并空闲(相当于通信的另一主机开机且可以接受连接请求),拿起电话话筒,双方就可以正式通话,相当于连接成功。双方通话的过程,是一方向电话机发出信号和对方从电话机接收信号的过程,相当于向socket发送数据和从socket接收数据。通话结束后,一方挂起电话机相当于关闭socket,撤消连接。
在Internet上有很多这样的主机,这些主机一般运行了多个服务软件,同时提供几种服务,每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应的服务(应用程序)。
例如:http 使用80端口 ftp使用21端口,smtp使用23端口。
类型:
流式socket(STREAM):是一种面向连接的Socket,针对于面向连接的TCp服务应用,安全,但是效率低;
数据报式Socket(DATADGRAM):是一种无线的Socket,对应于无线连接的UDP服务应用,不安全(丢失,顺序混乱,在接受端要分析重排及要求重发),但效率高!
Socket一般应用模式(服务器和客户端)
1.服务端welcoming socket 开始坚挺端口(负责监听客户端连接信息)
2.客户端client socket 连接服务器指定端口(负责接受和发送服务端消息)
3.服务端welocoming socket 监听到客户端连接,创建connection socket.(负责和客户端通信)。
部分代码:
未完待续。。。
---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流!
----------------------
----------------------
今日学习内容:Socket套接字
socket的概念:
socket的英文原义是“孔”或“插座”。作为进程通信机制,取后一种意思。通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句
柄。
socket非常类似于电话插座。以一个国家级电话网为例,电话的通话双方相当于相互通信的2个进程,区号是它的网络地址;区内一个单位的交换机相当于一台主机,主机分配给每个用户的局内号码相当于socket号。任何用户在通话之前,首先要占有一部电话机,相当于申请一个socket;同时要知道对方的号码,相当于对方有一个固定的socket。然后向对方拨号呼叫,相当于发出连接请求(假如对方不在同一区内,还要拨对方区号,相当于给出网络地址)。假如对方在场并空闲(相当于通信的另一主机开机且可以接受连接请求),拿起电话话筒,双方就可以正式通话,相当于连接成功。双方通话的过程,是一方向电话机发出信号和对方从电话机接收信号的过程,相当于向socket发送数据和从socket接收数据。通话结束后,一方挂起电话机相当于关闭socket,撤消连接。
在Internet上有很多这样的主机,这些主机一般运行了多个服务软件,同时提供几种服务,每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应的服务(应用程序)。
例如:http 使用80端口 ftp使用21端口,smtp使用23端口。
类型:
流式socket(STREAM):是一种面向连接的Socket,针对于面向连接的TCp服务应用,安全,但是效率低;
数据报式Socket(DATADGRAM):是一种无线的Socket,对应于无线连接的UDP服务应用,不安全(丢失,顺序混乱,在接受端要分析重排及要求重发),但效率高!
Socket一般应用模式(服务器和客户端)
1.服务端welcoming socket 开始坚挺端口(负责监听客户端连接信息)
2.客户端client socket 连接服务器指定端口(负责接受和发送服务端消息)
3.服务端welocoming socket 监听到客户端连接,创建connection socket.(负责和客户端通信)。
部分代码:
//创建 服务端 负责监听的套接字 参数(使用ip4寻址协议,使用流式连接,使用Tcp协议传输数据) Socket socket = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp); //获取文本框中的IP地址对象 IPAddress ipAddress = IPAddress.Parse(ip.Text.Trim()); //创建IP和网络端口的网络节点对象 IPEndPoint ipEndPoint = new IPEndPoint(ipAddress,int.Parse(duankou.Text)); //将负责监听的套接字 绑定到唯一的端口上 socket.Bind(ipEndPoint); //设置监听队列的长度 socket.Listen(10); //创建一个新的通信的套接字 Socket socketconnection=socket.Accept();
未完待续。。。
---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流!
----------------------
相关文章推荐
- 黑马程序员<.net学习---Socket 服务端与客户端的交互>
- 黑马程序员<.net学习---进程与线程>
- 黑马程序员<.net学习---线程>
- 黑马程序员 .NET学习笔记 <4>
- 黑马程序员---.NET高级之网络套接字(Socket)编程
- 黑马程序员 .NET学习笔记 <7>
- 黑马程序员 .NET学习笔记 <2>
- 黑马程序员 .NET学习笔记 <9>
- 黑马程序员 .NET学习笔记 <1>
- <JAVA学习笔记9>——网络之Socket的简单介绍
- 黑马程序员 .NET学习笔记 <10>
- 黑马程序员 .NET学习笔记 <6>
- 黑马程序员 .NET学习笔记 <8>
- 黑马程序员<梦想之旅>Socket学习随记
- 黑马程序员 .NET学习笔记 <3>
- .net 初学者。学习笔记 [html的<select>下拉标签option赋值]
- Linux IPC:套接字(socket)学习小结(一)
- <JAVA>学习笔记10>——多个客户端连接服务器
- <JAVA8实战>学习笔记2-数据处理好工具Stream
- 黑马程序员_java基础加强<十一>