- 博客(29)
- 资源 (2)
- 收藏
- 关注
原创 awk笔记
awk笔记简单的过滤功能搜索带有director的行root@iZwz9cw7o3sy7zolupfok8Z:~/Shells/awk_note# awk '/director/ { print }' emp.lst9876|jai sharma |director |production |12/03/50 |70002365|barun sengupta |director |personnel |11
2021-12-26 19:56:34
643
原创 c#的虚函数
c#虚函数需要在函数前加virtual重写虚函数需要在函数前加overrideusing System;class Program{ static void Main(string[] args) { B obj1 = new B(); obj1.f(); obj1.g(); A obj2 = new B(); obj2.f(); obj2.g(); ...
2021-06-29 16:08:39
223
原创 python2.7的类继承
class A: def __init__(self): self.x = 1 def f(self): print(self.x)class B(A): def __init__(self): A.__init__(self) self.y = 2 def g(self): self.f() print(self.x,self.y)b = B()b.f()b.g(..
2021-06-28 22:11:52
617
原创 c#和python版本的protobuf入门
c#c#的protobuf我使用的是protobuf-net版本安装方法如下:c#中使用probuf只需要为每种数据类型定义一个类,就可以实现数据的序列化,基本示例代码如下:using System;using ProtoBuf;using System.IO;class Program{ static void Main(string[] args) { MemoryStream ms = new Memor.
2021-06-13 21:44:44
489
2
转载 struct.pack
准确地讲,Python没有专门处理字节的数据类型。但由于str既是字符串,又可以表示字节,所以,字节数组=str。而在C语言中,我们可以很方便地用struct、union来处理字节,以及字节和int,float的转换。在Python中,比方说要把一个32位无符号整数变成字节,也就是4个长度的str,你得配合位运算符这么写:>>> n = 10240099>>> b1 = chr((n & 0xff000000) >> 24)>&g...
2021-04-07 19:46:23
2555
原创 Python之signal模块详解
信号:进程之间通讯的方式,是一种软件中断。一个进程一旦接收到信号就会打断原来的程序执行流程来处理信号。操作系统规定了进程收到信号以后的默认行为,但是,我们可以通过绑定信号处理函数来修改进程收到信号以后的行为,有两个信号是不可更改的SIGTOP和SIGKILL。发送信号一般有两种原因: 1(被动式) 内核检测到一个系统事件.例如子进程退出会像父进程发送SIGCHLD信号.键盘按下control+c会发送SIGINT信号 2(主动式) 通过系统调用kill来向指定进程发送信号接...
2021-04-03 16:13:11
4501
1
原创 python标准版-socket模块
python标准库提供了一个socket套接字模块,可以调用该模块进行网络通信1. socket对象socket.socket(family,type)该方法创建并返回一个新的socket对象,这也是socket模块最常用的方法。family参数指的是host的种类: AF_UNIX:也叫AF_LOCAL,基于本地文件的 AF_NETLINK:这是linux系统支持的一种套接字 AF_INET:这个套接字是基于网络的,对于IPV4协议的TCP和UDP(常用)...
2021-04-03 11:45:10
555
原创 python subprocess模块 - 子进程管理
call函数subprocess.call(args, *, stdin=None, stdout=None, stderr=None, shell=False)例子:windows的控制台下,输出文本subprocess_test.py命令和参数可以放在一起,也可以分开subprocess.call(['type','subprocess_test.py'],shell = True)subprocess.call('type subprocess_test.py',shel.
2021-04-02 20:04:50
421
转载 Unix网络编程常见错误码
EINTR: 4 阻塞的操作被取消阻塞的调用打断。如设置了发送接收超时,就会遇到这种错误。 只能针对阻塞模式的socket,非阻塞模式不会出现这个错误。读,写阻塞的socket时(recv,send),-1返回,错误号为EINTR,说明在数据传输前接收到一个信号(A signal occurred before any data was transmitted.)。出现这种情况,操作应该继续。如果recv的返回值为0,那表明连接已经断开,接收操作应该结束。 对于s...
2021-04-01 20:24:07
2237
原创 UDP套接字编程
UDP套接字根据传输数据前有无调用connect函数进行连接,可分为 已连接UDP套接字 和 未连接UDP套接字。这里的已连接和未连接是针对一方而言,而不是双方客户端和服务器其中一方调用connect,都可以让自己这边的UDP套接字编程已连接UPD套接字。未连接UDP套接字和已连接UDP套接字存在以下异同:未连接UDP套接字:接收数据使用recvfrom函数,可以从from 参数获取发送方的ip地址和端口号;发送数据使用sendto,直接在to参数写上收数据一方的ip地址和端口号 接收
2021-04-01 20:14:38
316
原创 fcntl
int fcntl(int fd, int cmd, int arg)fcntl在网络编程领域提供了以下特性:其中fd为要设置的网络方的套接字,cmd指定操作,arg提供参数cmd的常用标志为:F_SETFL: 设置文件套接字状态F_GETFL:获取套接字状态F_SETOWN:设置套接字属主(套接字所属的进程或进程组),使用socket创建的套接字没有属组。如果一个新的套接字是从另一个监听套接字创建而来,那么套机字属主和监听套接字一致常用套接字状态为:O_NONBL...
2021-04-01 19:01:37
157
原创 套接字选项的获取和设置
套接字有很多的选项需要设置,同时也需要获取套接字的一些状态信息,一般用getsocketopt和setsocketopt执行这些操作getsockopt头文件 <sys/socket.h>int getsocketopt(int sockfd, int level, int optname, void *opval, socketlen_t *oplen);getsocket函数把获取的信息存到opval和oplen中socket:文件描述符level:协议层次...
2021-04-01 15:38:44
650
原创 fgets fputs snprintf
fgets头文件 stdio.hchar *fgets(char *buf, int bufsize, FILE *stream);参数:*buf: 字符型指针,指向用来存储所得数据的地址。bufsize: 整型数据,指明存储数据的大小。*stream: 文件指针,将要读取的文件流, 可以取stdin。读取成功,返回读取到的字符串;失败或读到文件结尾返回NULL。fgets()函数从stream指向的文件中读取下一个输入行,(包括换行符,这点与gets()不同,gets()会自动的..
2021-03-31 21:31:50
163
原创 read、write、recvfrom和sendto
read函数头文件 <unistd>ssize_t read(int fd, void *buf, size_t nbytes);read()会把参数buf所指的内存写入count个字节到参数fd所指的文件内。返回值 >0, 表示接收到数据返回值=0, 表示接收FIN,返回值表示EOF返回值<0,表示接收到RST,错误码存储在errnowrite函数头文件 <unistd>ssize_t write (int fd,...
2021-03-31 20:24:13
249
原创 select和poll函数、shutdown函数
select函数头文件 <sys/select.h> <sys/time.h> int select(int maxfdp, fd_set* readfds, fd_set* writefds, fd_set* errorfds, struct timeval* timeout);该函数允许进程指示内核等待多个事件中的任何一个发送,并且只有在一个或多个事件发生或经历一段时间后才唤醒它timeval的定义如下:struct timeval { long ..
2021-03-31 20:00:42
213
转载 5种IO模型
Unix下的5种I/O模型: 1. 阻塞式I/O 2. 非阻塞式I/O 3. I/O复用(select/poll/epoll) 4. 信号驱动式(SIGIO) 5. 异步I/O(POSIX的aio_系列函数) 一个输入操作通常包括两个不同的阶段: (1)等待数据准备好 (2)从内核向进程复制数据 对于...
2021-03-29 23:47:19
179
转载 在客户和服务器之间传递二进制结构
https://blog.youkuaiyun.com/weixin_34087307/article/details/85610261
2021-03-29 19:00:04
112
原创 TCP连接终止情况
accept返回前终止连接场景描述:三次握手完成后,连接建立完成,然后Client TCP发送一个RST(reset)。在服务器方,连接被它的TCP放入等待连接队列,当RST到来时,连接正在等待服务器进程调用accept。一段时间后,服务器进程调用accept。发生这种情况后,POSIX规定accept函数返回ECONNABORTED服务器进程终止场景描述:杀死服务器子进程后,子进程上的描述符被关闭,因此会向客户端发送一个FIN。这时候客户端不知道服务器的进程已经关闭,接受到FIN的客户端
2021-03-29 18:56:52
498
原创 POSIX信号处理
POSIX信号处理信号(signal)就是告知某个进程发生了某个事件的通知,有时也称软件中断(software interrupt)。注意:信号是异步发生的,也就是说进程预先并不知道信号的准确发生时刻。查询僵死子进程的shell命令ps -A -ostat,ppid,pid | grep -e '^[Zz]'信号可以1. 由一个进程发送给另外一个进程(包括自身)2. 由内核发送给某个进程信号处理函数每个信号都有一个与之关联的处置。当有特定信号发生的时候,特定的函数被调用,那么这
2021-03-29 16:36:53
370
1
原创 基本套接字编程的几个关键函数
socket函数socke函数的功能在于生成一个指定类型的套接字描述符头文件 <sys/socket.h>int socket(int family, int type, int protocol);其中family指协议族,family可选值如下: AF_INET IPv4协议 AF_INET6 IPv6协议 AF_LOCAL Unix域协议 AF_ROUTE 路由套接字 AF_KEY 密钥.
2021-03-28 16:33:05
296
原创 Unix网络编程之套接字地址结构和地址转换函数
常用套接字地址结构有IPv4和IPv6两个版本,IPv4较为常见IPv4的地址结构定义如下:struct in_addr{ in_addr_t s_addr;/*32-bit IPv4 address*/ /*network byte ordered*/};struct sockaddr_in{ uint8_t sin_len;/*length if structure(16)*/ sa_family_t sin_family;/*AF_INET*/ in_port_t
2021-03-26 00:12:29
269
原创 一个简单的时间获取服务器程序
#include "unp.h"#include <time.h>intmain(int argc, char **argv){ int listenfd, connfd; struct sockaddr_in *servaddr; char buff[MAXLINE]; time_t ticks; listenfd = Soceket(AF_INET, SOCK_.
2021-03-24 15:16:08
184
原创 计算机网络传输单元的名称
计算机网络各层对等试题间交换的单位信息称为协议数据单元(protocol data unit,PDU)应用层实体间交换的PDU称为应用数据(application data)传输层传输的PDU称为消息,其中TCP的PDU称为分节(segment),UPD的PDU称为记录(record)SCTP的PDU称为块(chunk)网络层的PDU称为IP数据报(IP datagram)数据链路层的PDU称为帧,...
2021-03-24 14:48:33
1681
原创 一个简单的时间获取客户程序详解
#include "unp.h"//程序出错,错误原因存errnoint int main(int argc, char const *argv[]) //argc为argv的元素数量,argv[0]为程序的绝对路径,例如D:\code\test.exe, 剩下的元素为跟在程序命令行后面的字符串参数数量 { int sockfd,in; char recvline[MAXLINE + 1]; //MAXLINE来自头文件"unp.h" struct socka...
2021-03-24 14:33:28
157
原创 Unity的Anchor和Pivot
anchor包括四个值,分别为minX,minY,maxX,maxY,这些值的取值范围都是[0,1]画布的最左边代表0,画布的最右边代表1当anchor四个坐标值都相同时,anchor的坐标表示UI控件坐标的原点而UI控件不只是一个点,所以应该有个变量来决定其哪里是中心,这个变量就是PivotPivot的坐标范围也是[0,1],Pivot坐标为[0,0]时,表示UI控件以最左下角的点为中心点,Pivot坐标为[1,1]时,表示UI控件以最右上角的点为中心点确定坐标原点和UI控件中心点后.
2021-03-23 23:58:16
903
原创 Unity项目中文件繁多,如何只保留自己用到的文件呢?
选择.scene场景文件,右键,点击 Export Package,就可以只把用到的文件打包到一个.package文件里面。新建项目,把.package文件导入,就只保留了.scene场景中所用的文件
2021-03-18 17:25:43
696
原创 记游戏开发半路子出家实习经验
在一所不知名的学校读专硕读了一年,学校要求第二年必须实习。在实习宣讲中,看到游戏开发招收实习生,很有兴趣。幸运的是公司也不介意自己有无经验,便经过面试考核开始了实习。实习一开始很有激情,想着可以学很多东西。又是unity,又是ue4,今天听到渲染管线,明天听到人工智能,啥都想学。前一阵子公司也不丢工作,只是让自己学。unity教学视频一个接一个,也可以做几个demo,颇有成就感。但是后来转念一...
2020-02-03 17:00:32
480
基于粒子的流体模拟.zip
2020-02-03
c++初级入门
2018-06-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人