Unity的Socket网络编程

1.Socket相关概念

        Socket就是为了向Internet连接请求的机构。支持网络通信的服务器和客户端都必须具备Socket。

(可以理解为:socket就是ip+port封装,作为一个方法供实例调用。在人与人之间打电话时候需要电话机,同理程序与程序之间的交流也需要一部“电话”,这个“电话”就是Socket)

2.两种常见的Socket类型

  1. 流式Socket(STREAM):是一种面向连接的Socket,针对于面向连接的TCP服务应用,安全,但是效率低。
  2. 数据报式Socket ( DATAGRAM ):是一种无连接的Socket,对应于无连接的UDP服务应用,不安全(丢先.顺序混乱,在接收端要分析重排及要求重发),但效率高.

3.在Unity中常用到的Socket方法

  • ------------------------------------相关类------------------------------------------------
  • IPAddress类:包含了一个IP地址
  • IPEndPoint类:包含了一对IP地址和端口号
  • ------------------------------------方法类------------------------------------------------
  • Socket ( ):创建一个Socket
  • Bind( ):绑定一个本地的IP和端口号(IPEndPoint)
  • Listen( ):让Socket侦听传入的连接尝试,并指定侦听队列容量
  • Connect( ):初始化与另一个Socket的连接
  • Accept( ):接收连接并返回一个新的socket
  • Send():输出数据到Socket
  • Receive( ):从Socket中读取数据
  • Close():关闭Socket(销毁连接)

4.注意事项

  1. 至少要定义一个要连接的远程主机的IP和端口号。·
  2. 端口号必须在1和65535之间,最好在1024以后。
  3. 要连接的远程主机必须正在监听指定端口,也就是说你无法随意连接远程主机。
  4. 一个Socket一次只能连接一台主机。
  5. Socket关闭后无法再次使用
  6. 每个Socket对象只能一台远程主机连接.如果你想连接到多台远程主机,你必须创建多个Socket对象。

-如∶
-IPAddress addr = IPAddress.Parse("127.0.01");

- IPEndPoint endp = new IPEndPoint(addr,10001);
服务端先绑定: serverWelcomeSocket.Bind(endp)

客户端再连接: clientSocket.Connect(endp)

 ps:资料摘抄自视频01.Socket编程基础1_哔哩哔哩_bilibili

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值