套接字socket

在这里插入图片描述
socket的作用是用来在客户端和服务端传输数据用的,在此之前先要了解两个概念。

  1. TCP:位于传输层的一种协议,一般来说,安全性高,因为要经过3次握手流式
  2. UDP:也是位于传输层的协议,安全性低,容易丢包,但是速度快,因为不用经过3次握手,直接发送

C/S模式下进行数据传输,要在服务端创建两个Socket对象,在客户端上创建一个Socket对象,其中,服务端的一个Socket对象用来监听,是否有客户端要连接这台服务器,当有接入时,在创建一个Socket对象来现实数据的通信。
其中流式Socket(STREAM):是一种面向连接的Socket,针对于面向连接的TCP服务应用,安全,但是效率低;数据报式Socket(DATAGRAM):是一种无连接的Socket,对应于无连接的UDP服务应用.不安全(丢失,顺序混乱,在接收端要分析重排及要求重发),但效率高。
实现过程:

  1. 服务端:在服务端创建一个用于监听的Socket对象
  2. 服务端:进行绑定Bind(),需要一个端口对象,包含IPAddress对象和int类型的一个端口,(如果要想在两个软件中建立连接,必须要知道IP和端口号,这样才能确定与哪台计算机的哪个应用程序进行交互);
  3. 服务端:开始监听,Lisen(),其中的参数表示同一时刻最大的连接数
  4. 服务端:开始接收,Accept(),这个方法要写在一个循环中,因为是要不断的接收,并且要开启一个新线程,否则会造成程序的假死。
  5. 客户端:看一下客户端,直接创建Socket对象用于通信。
  6. 客户端:调用Connect()方法,连接到指定IP计算机的指定端口的程序。
  7. 上面的环境搭建好后,双方就可以互相传数据了,调用Send()和Receive()方法。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值