摘要:
VS CODE版本:1.46 由于VS CODE是使用“Language Support for Java(TM) by Red Hatredhat.java预览版”进行格式化的,所以需要在这个插件里设置格式。 在“(用户名)\.vscode\extensions\redhat.java-0.62.
阅读全文
posted @ 2020-06-15 16:00
万金流
阅读(9381)
推荐(0)
摘要:
我理解的反射,大概就是各种“找找找”。以下“类名”,均为Type类型(由“名称空间.类名”构成)。 根据类对象,找到类名。 根据一个字符串,找到类名; 有了类名,找到它包含的属性、方法。 有了类名,还可以创建它的实例。 有了3,可以获取类对象的属性值。 会了这几点,应该就算是会了反射。怎么用,就看你
阅读全文
posted @ 2020-06-12 17:46
万金流
阅读(274)
推荐(0)
摘要:
跟tcpclient类似。 不同之处:1、udp没有稳定通道,所有内容需要用字节形式收发。2、udpclient的connect方法,仅指定默认的发送目的地,并没有连接动作。 最简的代码如下: 被连接端: using System; using System.Collections.Generic;
阅读全文
posted @ 2020-06-01 18:09
万金流
阅读(985)
推荐(0)
摘要:
代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp1 { clas
阅读全文
posted @ 2020-05-25 21:00
万金流
阅读(697)
推荐(0)
摘要:
TcpClient和以前学过的对象,相对关系示意图如下: 借助有连接的特性,它封装了很多需要一起使用的对象,用起来也更加方便。 作为服务端时,它一般配合TcpListener使用。 由监听者创建的所有客户端,都使用与监听者相同的ipendpoint。(实现上,可以理解为不同的socket指向相同的i
阅读全文
posted @ 2020-05-19 19:52
万金流
阅读(2789)
推荐(0)
摘要:
如题,需要注意脚本的编码应该是ascii(阿里的centos8上是这样)。 代码: using System; using System.Diagnostics; using System.IO; using System.Text; namespace mylinux { class Progra
阅读全文
posted @ 2020-05-08 22:59
万金流
阅读(2597)
推荐(1)
摘要:
如题 很多时候使用牛顿软件(Newtonsoft.Json)。项目中的添加方式是使用NuGet,具体操作简单,此处略(实在不会,网上一抓一大把) 序列化和反序列化,仅以下例说明: using System; using System.Collections.Generic; using System
阅读全文
posted @ 2020-05-05 22:04
万金流
阅读(515)
推荐(0)
摘要:
1、关于地址映射的穿透,实测UDP可以,TCP不可以。 从道理上来说,TCP作为有连接传输,在nat设备上应该是匹配了对端ip地址的;但更有可能,出口设备做了阻止外到内tcp连接的acl。UDP应该没有,所以任意ip可以向nat设备的对应端口发包,内网机器都能收到。 2、关于套接字复用 s.SetS
阅读全文
posted @ 2020-04-27 19:26
万金流
阅读(514)
推荐(0)
摘要:
注意: 1、不管是哪种多线程方法,在线程中访问共享资源的时候一定要用lock锁起来!不然会由于冲突产生各种奇奇怪怪的问题。 2、委托(含拉姆达表达式)中调用的方法,其参数如果是变量,它的值取决于运行的那一刻内存里的值。如果希望在创建任务的时候值是固定的,必须用object参数state作为创建任务的
阅读全文
posted @ 2020-04-24 11:18
万金流
阅读(431)
推荐(0)
摘要:
Task被认为优于线程池 利用拉姆达表达式和本身的泛型支持,可以轻松实现指向常用的方法。 注意:委托(含拉姆达表达式)中调用的方法,其参数如果是变量,它的值取决于运行的那一刻内存里的值。如果希望在创建任务的时候值是固定的,必须用object参数state作为创建任务的状态,把值给进去。 以下两种用法
阅读全文
posted @ 2020-04-10 15:39
万金流
阅读(748)
推荐(0)