当前位置: 首页 > news >正文

小程序网站开发者利济南网站制作经验

小程序网站开发者利,济南网站制作经验,深圳别墅设计公司首选,学习html 欣赏好的网站Socket通信基本流程 首先要启动服务器创建Socket,然后要绑定服务器的一个端口这样客户端通过服务器IP端口号就能连接到服务器了服务器接下来会设置监听队列,监听并等待要连接到它的客户端客户端在服务器启动之后也建立自己的Socket,然后使用…

Socket通信基本流程

  • 首先要启动服务器创建Socket,然后要绑定服务器的一个端口
  • 这样客户端通过服务器IP+端口号就能连接到服务器了
  • 服务器接下来会设置监听队列,监听并等待要连接到它的客户端
  • 客户端在服务器启动之后也建立自己的Socket,然后使用客户端的Socket去连接服务器
  • 连接成功之后客户端和服务器之间就可以发送数据和接收数据
  • 当客户端关闭的时候,服务器会捕捉到客户端连接关闭
  • 服务器会把对应客户端的Socket也进行关闭

实现 

新建一个Unity项目新建脚本编写客户端

using System.Net.Sockets;
using System.Net;
using System;
using System.Text;public class Client : MonoBehaviour
{private Socket socket;//定义用来存消息的容器private byte[] buffer = new byte[1024];// Start is called before the first frame updatevoid Start(){//参数: IPV4协议, 套接字的传输类型(流式传输), socket传输协议(TCP)socket = new Socket(AddressFamily.InterNetwork,SocketType.Stream ,ProtocolType.Tcp);  //连接服务器: 服务器IP, 服务器端口号socket.Connect("127.0.0.1", 6666);  //连接完成//连接成功调用接收方法异步接收消息StartReceive();//连接成功发送消息Send();}//接收消息void StartReceive(){socket.BeginReceive(buffer,0,buffer.Length,SocketFlags.None,ReceiveCallback,null);}//接收消息的回调方法(作为参数传递的函数)void ReceiveCallback(IAsyncResult iar){//接收返回消息长度int len = socket.EndReceive(iar);//接收为0代表终止连接if (len == 0){return;}//解析bufferstring str = Encoding.UTF8.GetString(buffer, 0, len);Debug.Log(str);//解析完在执行接收方法 StartReceive();}void Send(){socket.Send(Encoding.UTF8.GetBytes("服务器你好,我是客户端!"));}// Update is called once per framevoid Update(){}
}

创建一个空物体挂载客户端脚本

 新建一个窗体应用编写服务端

using System.Net.Sockets;
using System.Net;
using System;
using System.Text;public class Program
{private static Socket socket;private static byte[] buffer = new byte[1024];static void Main(string[] args){//初始化socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//绑定socket.Bind(new IPEndPoint(IPAddress.Any, 6666));//监听:  挂起的连接队列最大长度 —— 同时处理连接请求的最大数,超出最大数会排队等待socket.Listen(0);StartAccept();Console.Read(); //阻塞住让程序不会结束}//开始应答static void StartAccept(){//开始异步应答连接   参数: 回调函数,objectsocket.BeginAccept(AcceptCallback, null);}static void AcceptCallback(IAsyncResult iar){//异步接受传入的连接尝试,并创建新的 Socket 来处理远程主机通信。Socket client = socket.EndAccept(iar);//开始接收StartReceive(client);//重新开始应答StartAccept();}//接收消息static void StartReceive(Socket client){//开始从连接的 Socket 中异步接收数据client.BeginReceive(buffer, 0, buffer.Length, SocketFlags.None, ReceiveCallback, client);}//回调函数static void ReceiveCallback(IAsyncResult iar){Socket client = iar.AsyncState as Socket;//结束接收返回消息长度int len = client.EndReceive(iar);//接收为0代表终止连接if (len == 0){return;}//解析bufferstring str = Encoding.UTF8.GetString(buffer, 0, len);Console.WriteLine(str);//解析完在执行接收方法 StartReceive(client);}
}

先运行服务端然后运行客户端

http://www.15wanjia.com/news/174143.html

相关文章:

  • 做爰全过程网站免费的视频外包加工平台
  • 怎样创建音乐网站申请新账号 免费
  • 重庆邮电大学官网网站发布产品的免费平台有哪些
  • 林芝做网站网站 栏目管理
  • 重庆快速网站建设平面设计最新招聘信息
  • 求几个夸克没封的a站2023网页编辑用什么软件
  • 定制网站设计公司邳州网站建设
  • 广东网站开发哪家强电子商务平台的功能有哪些
  • 如何线下宣传网站分销商城极差系统
  • 洛阳市网站建设大朗镇仿做网站
  • 网站开发创意设计网站建设设计摘要
  • 山西格泰网站建设沂水网站优化推广
  • 浙江制造品牌建设网站建设英文网站的公司
  • 前端工程师主要做什么工作常州自助建站seo
  • 华容网站建设做网站得多长时间
  • 沈阳外贸网站制作公司个人房产查询系统网站官网
  • 房产网站运营方案青岛网站设计制作
  • 邯郸北京网站建设欧美化妆品网站模板
  • 网站制作文案做网站排名赚钱吗
  • 学校网站的页头图片做中国新闻最新消息
  • 数据库网站开发价格手机o2o网站建设
  • 58网站建设多少钱房山建站公司
  • 惠州市网站建设企业驻马店怎么建设自己的网站
  • 建设网站注意什么企业营销推广公司
  • 自己怎么建网站卖东西凌河网站建设推广
  • wordpress临时关闭站点站长工具浪潮
  • 网页制作和网站建设的区别建设文明网站包括哪些内容
  • dz网站数据备份怎么做卖车网站
  • 潍坊网站制作江门公司兼职网站的建设目标怎么写
  • 公司建站费用怎么用代码做网站