千家信息网

如何理解socket tcp开发包MiniSocket

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇文章给大家分享的是有关如何理解socket tcp开发包MiniSocket,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。MiniS
千家信息网最后更新 2026年11月02日如何理解socket tcp开发包MiniSocket

本篇文章给大家分享的是有关如何理解socket tcp开发包MiniSocket,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

MiniSocket 采用socket tcp方式通讯,自动处理分包合并,性能高,使用简单,非常容易进行二次开发

服务端使用:打开vs2017 新建.net core(2.1版本以上) 控制台应用,nuget搜索MiniSocket 下载

代码:

static void Main(string[] args)
{
// 实际化服务端对象
Network server = new Network();
// 设置ip地址
server.Ip = "127.0.0.1";
// 设置端口号
server.Port = 9123;
// 设置客户端最大连接数
server.ClientMaxCnt = 10;
// 设置接收超时
server.ReceiveTimeout = 1000 * 100;
// 设置发送超时
server.SendTimeout = 1000 * 100;
// 设置接收缓冲区大小
server.RecvBufferSize = 1024;
// 设置工作线程数
server.WorkThreadCnt = 20;
// 设置客户端超时时间(秒)
server.TimeOver = 30;
// 设置接收完成事件
server.RecvCompleted += RecvEventData;
// 初始化
bool bl = server.Init();
while(true)
{
Thread.Sleep(1000);
}
}

///


/// 接收完成事件
///

///
///
private static void RecvEventData(Network e,SocketParas sockArgs)
{

try
{
string str_head = Encoding.UTF8.GetString(sockArgs.HeadByt);
string str_body = Encoding.UTF8.GetString(sockArgs.BodyByt);

e.Send(sockArgs, Encoding.UTF8.GetBytes("this is header"), Encoding.UTF8.GetBytes("this is body"));
}
catch(Exception ex)
{
Print("RecvEventData "+ex.Message);
}
}

客户端使用:打开vs2017 新建.net framework(4.0版本以上) 控制台应用,nuget搜索MiniSocketClient 下载

代码:

static void Main(string[] args)
{
// 实例化客户端对象
Network client = new Network();
// 设置ip地址
client.Ip = "127.0.0.1";
// 设置端口号
client.Port = 9123;
// 设置接收超时
client.ReceiveTimeout = 1000 * 30;
// 设置发送超时
client.SendTimeout = 1000 * 30;
// 设置接收缓冲区大小
client.ReceiveBufferSize = 1024;
// 接收完成事件
client.RecvCompleted += RecvComplete;
// 退出事件
client.ExitCompleted += ExitCompleted;
// 初始化
client.Init();
// 发送第一包数据
client.Send(Encoding.UTF8.GetBytes("hello china"), Encoding.UTF8.GetBytes("hello world"));

while (true)
{
Thread.Sleep(10);
}

}

///


/// 接收完成事件
///

///
///
private static void RecvComplete(Network e, SocketParas sockArgs)
{
try
{

Console.WriteLine(Encoding.UTF8.GetString(sockArgs.HeadByt) + Encoding.UTF8.GetString(sockArgs.BodyByt));
e.Send(Encoding.UTF8.GetBytes("hello world"), Encoding.UTF8.GetBytes("hello MiniSocket"));
}
catch (Exception ex)
{
Print("RecvComplete " + ex.Message);
}
}

///


/// 发送完成事件
///

///
///
private static void SendComplete(Network e, SocketParas sock)
{

}

///


/// 退出事件
///

///
///
private static void ExitCompleted(int state, string msg)
{
switch (state)
{
case 0: // 正常
break;
case 1: // 连接异常
break;
case 2: // 发送异常
break;
case 3: // 接收异常
break;
case 4: // 手动强制退出
break;
}
}

以上就是如何理解socket tcp开发包MiniSocket,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

事件 客户 客户端 开发 开发包 代码 口号 地址 大小 对象 控制台 更多 版本 知识 篇文章 缓冲区 工作 应用 控制 搜索 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海挚品互联网科技有限公司 南京欣网互联网络科技有限公司 科技与互联网 科技企业和互联网企业 互联网为科技 互联网与科技发展 浩特互联网科技 壕鑫互联网络科技 天扬科技互联网广告 互联网科技有限公司 翻译 成都仁贤领冠互联网科技有限公司 哈尔滨秒房互联网科技有限公司 随着互联网科技发展 移动互联网科技股 广州恒生互联网科技有限 受益于互联网科技的高速发展 苏州铭阳互联网科技有限公司 滨湖区互联网智能科技产品有哪些 互联网安防科技感 宁波跨境商互联网科技有限公司 上海卓越科技互联网 鸠鸠互联网科技 重庆科技学院互联网 宜昌元轩互联网科技有限公司 呼和浩特新华互联网科技学院 互联网新科技动漫ppt素材 卓翼科技产业互联网合作 黑云互联网科技有限公司 银川新华互联网科技学校原画 恒生科技互联网指数十大成分股
0