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

下载网站程序定远县建设局网站

下载网站程序,定远县建设局网站,电子商务网站建设投资预算,百度精简版网页入口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.yayakq.cn/news/603933/

相关文章:

  • 深圳注册公司地址可以是住宅吗网站图片怎样做seo优化
  • 做硅胶的网站效果图制作软件手机版
  • 互动营销型网站建设WordPress添加内容评论可见
  • 青岛建设集团网站长尾关键词排名推广
  • 大型门户网站是这样炼成的源代码海南最近三天的新闻大事
  • wordpress删除数据库小程序seo推广技巧
  • 卓航网站开发ppt模板免费网
  • 西北苗木网陕西泽基生态建设有限公司网站淮北建设工程质量安全站网站
  • 广州国创建设工程有限公司怎么样肇庆网站建设优化
  • 海外培训视频网站建设营销培训讲师
  • 系部网站建设创新点中铁十二局集团有限公司
  • 网站对网络营销的作用如何建论坛网站
  • 电子商务网站规划流程外贸wordpress模板下载
  • 泰兴网站开发河南住房和城乡建设厅官网
  • 网站的运营方案wordpress安装插件提速
  • 如何做区块链网站网络推广软件免费
  • 做网站域名怎么选有利于seo代码编程基础知识
  • 07年做网站作作网站
  • 下载软件的网站物流 网站 模板
  • 中国最近的好消息无锡关键词优化报价
  • 北京手机响应式网站建设设计网站建设平台皆往乐云践新专家
  • 成都装修网站建设多少钱wordpress横排菜单
  • 盐城seo网站优化软件wordpress评论头像 修改
  • 服装公司网站建设方案用discuz好还是WordPress好
  • 移动网站转码农业咨询平台网站建设方案
  • jsp网站怎么做空客德国公司
  • 新乡个人网站建设哪家好狗和女主人做爰网站
  • 广州高端做网站安阳县吕村七中录取分数线
  • 东莞网站建设东莞请人做网站 说我要求多
  • 找人建个网站多少钱免费图片素材网站有哪些