黑马程序员-c#学习之Socket基础

---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------

一、

(1)IP:

电脑通过互联网相连,他们之间需要通信,就需要通过IP找到目标电脑。

(2)端口:电脑给每一个应用程序绑定一个端口,通过端口来找到目标的应用程序。

总结:互联网中应用程序之间通信的过程大致为:同过ip找到目标电脑,在通过这个电脑上绑定的端口来找到对应的应用程序。

二、Socket相关概念:

(1)socket的英文原义士“孔”或“插座”。作为进程通信机制,取后一种意思。通常也称作“套接字”,用于描述IP地址和端口,是一个通信链的句柄。(其实就是两个程序通信用的。)

(2)在internet上游很多这样的主机,这些主机一般运行 了多个服务软件,同事提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同端口对应于不同的服务(应用程序)。

            例如:http使用80端口; ftp使用21端口;smtp使用23端口。

(3)有两种类型:

1、流式Socket(stream):是以中面向连接的Socket,针对于面向连接的

TCP服务应用,安全,但是效率低;

2、数据报表式Socket(DATAGRAM):是一种无法连接的Socket,对应于无法连接的UDP服务应用。不安全(丢失数据无法找回,顺序混乱,在接收端要分析重排及要求重发),但效率高。

三、Socket一般应用模式(服务器端和客户端)

服务端有两种socket:

一种是,welcoming socket开始监听端口(负责监听客户连接信息,类似于“前台接待”,不去执行代码),监听到消息后创建一个connection socket去和客户端通信。

第二种socket 负责处理客户端传过来的消息。

1、在接受到客户端连接时创建

2、为每个连接成功的客户端创建一个对应的Socket(处理和客户端通信的socket)

客户端socket:client socket连接服务端指定端口(负责接受和发送服务端消息)

1、必须指定要连接的服务端地址和端口。

2、通过创建一个Socket对象来初始化一个到服务器端的TCP连接。

 

简述Socket的通信过程:

··服务端:

1、申请一个socket

2、绑定到一个ip地址和一个端口上

3、开启监听,等待接受连接

··客户端:

1、申请一个socket

2、连接服务器(指明ip地址和端口号)

···服务器端连接到请求后,产生一个新的socket(端口大于1024)与客户端建立连接并进行通讯,原监听socket继续监听

----------------------Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------

详细请查看:http://net.itheima.com/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值