c# TCP UDP

一、概述
UDP和TCP是网络通讯常用的两个传输协议,C#一般可以通过Socket来实现UDP和TCP通讯,由于.NET框架通过UdpClient、TcpListener 、TcpClient这几个类对Socket进行了封装,使其使用更加方便, 本文就通过这几个封装过的类讲解一下相关应用。

二、基本应用:连接、发送、接收
服务端建立侦听并等待连接:

TcpListener tcpListener = new TcpListener(IPAddress.Parse(“127.0.0.1”), 9000);
tcpListener.Start();
if (tcpListener.Pendin[……]

继续阅读

Linux 修改用户密码

1、进入Ubuntu,打开一个终端,输入 sudo su转为root用户。
注意,必须先转为root用户!!!

2、sudo passwd user
(user 是对应的用户名)

3、输入新密码,确认密码。

4、修改密码成功,重启,输入新密码进入Ubuntu。[……]

继续阅读

Python 多线程

多线程类似于同时执行多个不同程序,多线程运行有如下优点:

  • 使用线程可以把占据长时间的程序中的任务放到后台去处理。
  • 用户界面可以更加吸引人,比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度。
  • 程序的运行速度可能加快。
  • 在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了。在这种情况下我们可以释放一些珍贵的资源如内存占用等等。

每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。

每个线程都有他自己的一组CPU寄存器,称为线程的上下文,[……]

继续阅读

Python 字符串运算符

下表实例变量 a 值为字符串 “Hello”,b 变量值为 “Python”:

操作符
描述
实例

+
字符串连接

>>>a + b HelloPython

*
重复输出字符串

>>>a * 2 HelloHello

[]
通过索引获取字符串中字符

>>>a[1] e

[ : ]
截取字符串中的一部分

>>>a[1:4] ell

in
成员运算符 – 如果字符串中包含给定的字符返回 True

>>>H in a True

not in
成员运算符[……]

继续阅读