1、普通格式命令的解析

例如: RENA<SP>E:\\A.txt<SP>C:\\B.txt<CRLF> (SP -> 空格,CRLF -> 回车加换行)
作用:将A.txt 重命名为B.txt,并移动他的位置
解析:
byte[] myByte = new Byte[1024];
// mySock 假设为建立连接的套接字对象
NetwordStream netSream = new NetwordStream(mySock);
netSream.Read(myByte, 0, myByte.Length);
stirng str = System.Text.Encoding.ASCII.GetString(myByte);
int x = str.IndexOf("\r\n");
stirng allCommand = str.Substring(0, x);
char[] a = new char[] {' '};
string[] commStr = allCommand.Split(a);
string command = commStr[0]; // RENA
string parameter1 = commStr[1]; // E:\\A.txt
string parameter2 = commStr[2]; // C:\\B.txt

2、特殊格式命令解析

构造一个RichTextBox控件对象,将有效字符串的值赋给该控件,然后再从该控件中按行读取数据:
string readMessage = "USER" + "\r\n" + "AAA" + "\r\n" + "BBB" + "EOF";
RichTextBox rich = new RichTextBox();
rich.Text = readMessage;
int i = rich.Lines.Length;
string comm = richLines[0];
string comm1 = rich.Lines[1];
string comm2 = rich.Lines[2];
string comm3 = rich.Lines[3].Substring(0, rich.Lines[3].Length - 3);

3、线程

<1> 创建线程
using System.Threading;
Thread thread = new Thread(new ThreadStart("要调用的线程名"));

<2> 启动线程
thread.Start();

<3> 阻塞和重新启动当前线程
Thread.Sleep(100); // 阻塞线程,参数单位为毫秒
Thread.Suspend(); // 该线程将阻塞,直到另外一个线程调用它,才会被唤醒,另外一个线程将调用Thread.Resume();

Thread.Join(TimeSpan); // 使一个线程等待另一个线程停止 (TimeSpan -> 时间间隔,类型值)

<4> 线程销毁
Thread.Abort(); // 调用该方法时在指定线程上引发ThreadAbortException异常,但除非调用ResetAbort(), 否则会在catch块的结尾再次触发,
// ResetAbort()可以取消Abort的请求,并阻止ThreadAbortException终止此线程,但线程不一定会立即终止,因为有可能程
// 序会在finally块中执行大量的运算,为避免这种情况,在调用Thread.Abort()后请调用Thread.Join()。
// 如果对尚未启动的线程调用Abort,则当前调用Start时会终止线程;如果对已挂起的线程调用,则该线程将继续,然后终止;
Thread.Interrupt(); // 用于 中断 处于Wait、Sleep、Join线程状态的线程;如果此线程当前未阻塞,在等待,休眠或连接状态中,则下次开
// 始阻塞时,它将被中断

C#基础:命令解析的更多相关文章

  1. Git学习笔记整理【图像解析、基础命令、分支、远程仓库】

    Git别名设置:https://www.cnblogs.com/hero123/p/9105381.html Git远程项目公钥配置:https://www.cnblogs.com/hero123/p ...

  2. Linux系统优化及基础命令

    1.Linux系统优化及基础命令 2. vim编辑器 vim 操作命令 在命令模式下操作 pageup 往上翻页(重要指数****)pagedown 往下翻页(重要指数****)H 移动到屏幕首行gg ...

  3. 【Linux相识相知】计算机的组成、linux发行版和哲学思想、基础命令和目录结构(FHS)

    从今天开始,Frank将开始在博客上记录自己学习linux的点点滴滴,F初来乍到,还望各位大佬多多指教.本次博客的主要内容如下: 计算机基础:简要的描述了计算机的组成及其功能: linux初识:介绍了 ...

  4. Docker容器技术-基础命令

    一.基础命令 1.运行一个镜像 [root@bogon ~]# docker run debian echo "Hello World" Unable to find image ...

  5. Linux基础命令-文件与目录

    Linux基础命令-文件与目录 参考:<鸟哥linux私房菜>五-七章,17/12/5复习,18/01/15复习 文件权限 rwx421:用户,用户组,其他 umask查看默认权限:000 ...

  6. APPcrawler基础原理解析及使用

    一.背景 一年前,我们一直在用monkey进行Android 的稳定性测试 ,主要目的就是为了测试app 是否会产生Crash,是否会有ANR,页面错误等问题,在monkey测试过程中,实现了脱离Ca ...

  7. angular-cli.json配置参数解析,常用命令解析

    1.angular-cli.json配置参数解析 { "project": { "name": "ng-admin", //项目名称 &qu ...

  8. Linux基础命令回顾

    前言 说到linux基础命令,网上一搜一箩筐,想学也有很多教程,如果你不幸看到此篇文章,想看就认真看完,毕竟你点进来了不是嘛? 我每次写的文章都是为了分享自己的学习成果或重要知识点,希望能帮助更多的人 ...

  9. 【redis】redis基础命令学习集合

    写在前面 Redis是一个高速的内存数据库,它的应用十分广泛,可以说是服务端必学必精的东西.然而,学以致用,无用则无为.学了的东西必须反复的去用,去实践,方能有真知.这篇文章记录了我在redis学习过 ...

随机推荐

  1. TimeSpinner( 时间微调) 组件

    本节课重点了解 EasyUI 中 Spinner(微调)组件的使用方法,这个组件依赖于Spinner(微调)组件. 一. 加载方式//class 加载方式<input id="box& ...

  2. NET下三种缓存机制(Winform里面的缓存使用 )

    原文(http://www.cnblogs.com/wuhuacong/p/3526335.html)非常感谢伍华聪作者的分享! 缓存在很多情况下需要用到,合理利用缓存可以一方面可以提高程序的响应速度 ...

  3. Could not find the Visual SourceSafe Internet Web Service connection information

    Visual SourceSafe Internet---------------------------Could not find the Visual SourceSafe Internet W ...

  4. 修改Sharepoint 文档库列表点击Excel文件默认跳转到Excel Service服务 xlviewer.aspx页面

    在Sharepoint 文档库中,当点击库中的一个Excel文件时,Sharepoint默认为转跳到Excel Services上,无论是Sharepoint 的是否开启了Excel Service, ...

  5. jq不识别拼接的对象id的解决方案

    今天在做项目时,遇到了这么个问题. 先声明一下,我的id都是动态变换的.从1-10呢. <div id="a1"></div> <div id=&qu ...

  6. Slony-I双机备份

    测试环境:postgresql 9.3.5,slony-I2.2.3(application stack builder提供)以下参考网上教程亲自测试总结 ---------------------- ...

  7. YUI 之yui.js

    一.构造函数直接返回一个对象,避免调用时出错. Function Fvar F = function () { var f = this; instanceOf = function (o, type ...

  8. jQuery工作原理解析以及源代码示例

    jQuery的开篇声明里有一段非常重要的话:jQuery是为了改变javascript的编码方式而设计的.从这段话可以看出jQuery本身并不是UI组件库或其他的一般AJAX类库.jQuery改变ja ...

  9. quartz spring 时间配置

    关于时间配置, 1前面带0和不带0的区别是???   (开始时间,带0以整点整分整秒开始,不带的以启动时间定时循环??) 比如 0 7/37 * * * ?  表示每个小时的第7分钟开始执行,然后隔三 ...

  10. Repeater中添加按钮,点击按钮获取某一行的数据

    1.添加编辑按钮和删除按钮 <asp:Repeater ID="Repeater1" runat="server" onitemcommand=" ...