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

电白网站建设代理平台手游

电白网站建设,代理平台手游,微信可以做网站吗,郑州人流医院排名文章目录 TCP 连接掉线自动重连定义使用连接效果 TCP 接收数据时防止掉线。TCP 连接掉线自动重连。多线程环境下TCP掉线自动重连。 欢迎讨论更好的方法#xff01; TCP 连接掉线自动重连 定义 定义一个类#xff0c;以编写TCP连接函数Connect()#xff0c;并且#xff1a… 文章目录 TCP 连接掉线自动重连定义使用连接效果 TCP 接收数据时防止掉线。TCP 连接掉线自动重连。多线程环境下TCP掉线自动重连。 欢迎讨论更好的方法 TCP 连接掉线自动重连 定义 定义一个类以编写TCP连接函数Connect()并且 初始化时保存TCP连接的基本信息在重连时不需要再次输入参数 编写自动重连函数TryToConnect() internal class Receiver {private Socket clientConn;private string ip, myIP;private int port;private EndPoint point, myPoint;/// summary/// 需要使用锁来防止多线程抢连/// /summaryprivate Mutex mutexConnect new Mutex(false, MutexForConnect);/// summary/// 与交互的执行者/// /summary/// param namemyIP本地ip地址字符串/param/// param nameipip地址字符串/param/// param nameport端口号/parampublic Receiver(in string myIP, in string ip, in int port){// 保存记录this.myIP myIP;this.ip ip;this.port port;// 设置连接myPoint new IPEndPoint(IPAddress.Parse(myIP), 0); // 本地IP,0表示任意端口point new IPEndPoint(IPAddress.Parse(ip), port); // 服务器的地址}/// summary/// 对Connect函数加锁因为有多个线程需要连接会报错/// /summary/// returns若连接成功则返回socket对象否则返回空/returnspublic Socket TryToConnect(){// 如果已连接直接返回了。if (!(clientConn is null) clientConn.Connected) return clientConn;mutexConnect.WaitOne(); // 阻塞每次连接一个。等进入者释放锁再进。// 如果刚才未连接但是另一个【进入进程】先connect了那就返回了。if (!(clientConn is null) clientConn.Connected) return clientConn;bool flag Connect(); // 【进入进程】发起连接Thread.Sleep(1000); // 防止过于频繁的连接每秒进一个mutexConnect.ReleaseMutex(); // 【进入进程】释放锁return flag ? clientConn : null; // 若连接成功则返回socket对象否则返回空}/// summary/// 建立与服务器的TCP/IP连接/// /summary/// returns成功返回true反之返回false/returnspublic Boolean Connect(){Console.Write($({ip} {port}) 连接中...);//创建一个新的Socket对象clientConn new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);// 建立TCP / IP连接try{clientConn.Bind(myPoint); //绑定本地IP,多IP防止串(若无此IP则可能抛出异常 clientConn.Connect(point); //尝试连接Console.WriteLine(连接成功);return true;}catch (Exception){Console.WriteLine(连接失败);clientConn.Close();clientConn.Dispose();return false;}} }使用 此处仅用主线程模拟。但实际上多个线程使用连接语句也是OK的。 static void Main(string[] args) {Receiver receiver new Receiver(myIP: 192.168.100.10, ip: 192.168.100.1, port: 2003);// 连接Socket conn null;while (conn is null) conn receiver.TryToConnect(); // 如果没连上就阻塞因为不连上就无法进行后续工作// 接收数据int toReadLen 20; // 准备接收的byte数据长度byte[] rawData new byte[toReadLen]; // 接收数据的byte数组int len conn.Receive(rawData, 0, toReadLen, SocketFlags.None); // 接收到扫码器传来的信息while (len toReadLen)len conn.Receive(rawData, len, toReadLen - len, SocketFlags.None); // 不足时继续接收直到指定长度// 此处用于处理接收到的信息Console.WriteLine(BitConverter.ToString(rawData, 0, len));Console.ReadLine(); }连接效果
http://www.zqtcl.cn/news/274002/

相关文章:

  • a做爰网站集宁建设局网站
  • 黄山建设网站公司电话wordpress微信分享图
  • 大数据网站网站的备案流程图
  • 如果自己做网站wordpress付款插件
  • 网站建设项目的结论网站开发合同适用印花税
  • 网站建设经验与教训普陀网站建设推广
  • 12306网站是是阿里巴巴做的吗专业建网站设计公司
  • 关于申请网站建设经费的请示网推推荐信
  • 网站建设请款报告网站服务器租用价格
  • 贵州建设网老网站手机网站建设运营方案
  • 网站方案范文唐山自助建站模板
  • 金华网站制作网站建设的功能需求
  • 用iis建立网站口碑营销案例分析
  • 注册网站要求线上设计师与线下设计师的区别
  • 个人备案 网站内容网站备案如何查询
  • 宿州科技网站建设百度网站外链发布平台
  • 织梦移动网站wordpress父文章显示不全
  • 游戏攻略网站怎么做网站开发需求确认书
  • 做高大上分析的网站电商到底干嘛的
  • 物流网站哪个好网络推广就找南昌莫非传媒
  • 查看网站空间企业网站管理系统介绍
  • 重庆市工程建设信息网新网站艺术品商城网站开发
  • 上海网站制作商wordpress改主题
  • 钰鸣厦门网站建设2023热点新闻事件
  • 网络营销的主要形式有建设网站免费搭建网站哪个好
  • 建一个网站需要哪些人aso是什么意思
  • 电商网站有哪些淘宝运营培训班哪里有
  • 网站开发网站制作太原优化排名推广
  • 佛山市网站开发桥西区建设局网站
  • 怎么制作网站应用云主机上传wordpress