实例介绍
SimpleTCP提供了一个简洁而强大的方式来处理.NET环境下的TCP套接字编程,无论是服务器还是客户端。
想要一个在机器上所有IP地址上监听8910端口的TCP服务器吗?
var server = new SimpleTcpServer().Start(8910);
想要一个连接到127.0.0.1的8910端口的TCP客户端吗?var client = new SimpleTcpClient().Connect("127.0.0.1", 8910);
想要发送"Hello world!"到服务器并在3秒内获取它发送的回复吗?var replyMsg = client.WriteLineAndGetReply("Hello world!", TimeSpan.FromSeconds(3));
每次看到新行\n(char 13)时,想要在服务器上接收一个消息事件,并回显任何进入的消息吗?server.Delimiter = 0x13;
server.DelimiterDataReceived += (sender, msg) => {
msg.ReplyLine("You said: " + msg.MessageString);
};
想要知道有多少客户端连接到服务器吗?int clientsConnected = server.ConnectedClientsCount;
想要更改客户端和服务器在发送和接收字符串时使用的文本编码吗?(默认是ASCII/UTF8。)server.StringEncoder = System.Text.ASCIIEncoding.ASCII;
client.StringEncoder = System.Text.ASCIIEncoding.ASCII;
想要获取服务器正在监听的IP地址吗?var listeningIps = server.GetListeningIPs();
只想获取服务器正在监听的IPv4地址吗?var listeningV4Ips = server.GetListeningIPs().Where(ip => ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork);
此外,尽管这个库不是为了做Web服务器而设计的,但它提供了一种方式让你的node.js朋友停止说类似"用node我只需要几行代码就能启动一个web服务器"的话。var server = new SimpleTcpServer().Start(80);
server.DataReceived += (sender, msg) => {
msg.Reply("Content-Type: text/plain\n\nHello from my web server!");
};
【实例截图】
【核心代码】
文件清单
└── SimpleTCP-61f1932201a7c5633ad2f003c97c83c31541fc85
├── LICENSE
├── README.md
├── SimpleTCP
│ ├── Message.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── Server
│ │ ├── ConnectedClient.cs
│ │ ├── ServerListener.cs
│ │ └── TcpListenerEx.cs
│ ├── SimpleTcpClient.cs
│ ├── SimpleTCP.csproj
│ ├── SimpleTCP.nuspec
│ └── SimpleTcpServer.cs
├── SimpleTCP.sln
└── SimpleTCP.Tests
├── CommTest.cs
├── Properties
│ └── AssemblyInfo.cs
├── ServerTests2.cs
├── ServerTests.cs
└── SimpleTCP.Tests.csproj
6 directories, 17 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论