Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

使用ip_conntrack实现UDP服务的多进程处理

使用ip_conntrack实现UDP服务的多进程处理

UDP是无连接的,一个UDP包发出之后,对端接收到,事情就完了,即使对端没有接收到,事情也随之结束,两端都不会保存任何信息(UDP connect函数仅仅绑定了一个元组,不会对协议通信有影响)。因此无法像TCP那样实现accept。而TCP服务的多处理机制基本都是基于accept的,TCP的侦听socket只负责接受连接,进而调度给一个进程或者线程,accept/fork机制已经成了多处理的必杀技,由于UDP无法实现accept,也就很难实现多处理以及xi...
Linux下C开发中几点技术小总结

Linux下C开发中几点技术小总结

1、.时间Linux系统在时间上有比较多的东西。在游戏里,时间是一个非常重要的一个变量,涉及到前后端时间同步,游戏业务的倒计时,心跳等等的一系列功能点等等,如果能够灵活运用时间这个变量,最起码你要知道如下几个函数或者变量time_t这个变量其实是一个long型,表示的是从一个时间点(一般是1970年1月1日0时0分0秒)到那时的秒数。对,指标是秒数。在time.h文件中还有一些其他以其为参数的函数在time.h头文件中,我们还可以看到一些函数,它们都是以t...
C#中HashTable的用法

C#中HashTable的用法

一,哈希表(Hashtable)简述在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似keyvalue的键值对,其中key通常可用来快速查找,同时key是区分大小写;value用于存储对应于key的值。Hashtable中keyvalue键值对均为object类型,所以Hashtable可以支持任何类型的keyvalue键值对.二,哈希表的简单操作在哈希表中添加一个keyva...
Linux下的dc计算器

Linux下的dc计算器

dc采用逆波兰式计算表达式,计算过程是对栈的手动维护。逆波兰式看起来很别扭,但跑起来当然是很有效率的。乱七八糟的东西就不说了,直接切入script正题负号在dc里用_表示而非-,因为-是二元运算符“减号”打印类命令:p :打印栈顶元素并换行n : 打印栈顶元素并将其弹出栈,完毕后不换行P : putchar ( int(栈顶元素) % 256) 并弹栈顶,不换行f : 从栈顶至栈底打印栈中所有...
Android 源码导入Eclipse技巧(Ubuntu)

Android 源码导入Eclipse技巧(Ubuntu)

在做Android系统开发时很多人都会在Google官网去下载一份Android源码作为参考。源码下载完成的目录结构如如所示:Android源码支持多种IDE,如果是针对APP层做开发的话,建议大家使用Eclipse开发环境。在源码路径(~/development/ide/eclipse)下,Android提供了.classpath配置文件(备注:该文件为隐藏文件)。将该文件拷贝到源代码的根目录,如上图所示。接下来,再在源码的根目录创建.project文件...
Android仿iPhone晃动撤销输入功能(微信摇一摇功能)

Android仿iPhone晃动撤销输入功能(微信摇一摇功能)

很多程序中我们可能会输入长文本内容,比如短信,写便笺等,如果想一次性撤销所有的键入内容,很多手机需要一直按住退格键逐字逐句的删除,稍稍麻烦,不过在iPhone上,有个人性化的功能,当我们想要去撤销刚刚输入的所有内容的时候,可以轻轻晃动手机,会弹出提示框,点击确定就可以清空内容,如下图:在Android中,一般手机貌似没有定制这个功能,不过我们可以自己去实现这样的功能,放置在我们的项目程序中,体现更人性化的设计,思路很简单,主要是利用手机内置的加速度传感器装...
Android自定义属性时TypedArray的使用方法

Android自定义属性时TypedArray的使用方法

有时候Android传统的页面布局不足以满足我们的需求,常常需要自己定义view,通常继承View,然后重写构造方法以及onDraw等函数,再具体实现自己定义的复杂view。我们知道在给控件赋属性时,通常使用的是android系统自带的属性,比如 android:layout_height="wrap_content",除此之外,我们亦可以自己定义属性,这样在使用的时候我们就可以使用形如 myapp:myTextSize="20sp"的方式了,步骤大致如下...
Android系统中传感器相关的简介

Android系统中传感器相关的简介

大多数主流的Android手机都有内置的传感器,可以用来测方向,位置,环境。通常精确度都很高,应用的领域也自然很广泛。例如重力传感器,很多的游戏都需要靠它来操作,通过检测重力系统的变化很精确的反映到游戏操作中;又如微信的“摇一摇”靠加速度传感器来检测在不同方向的加速度来实现的,还有很多不是很常用的传感器,通过查看API大概找到如下的一些android系统中的传感器类型:1.TYPE_ACCELEROMETER:加速度传感器,单位是m...
Android引入外部自定义特殊字体的方法

Android引入外部自定义特殊字体的方法

在开发的过程中,Android系统自带的字体中规中矩,样式也不外乎就是加加粗,打打斜,很多时候并不能满足我们的需求,此时我们可以引入其他自己下载好的字体,植入到我们自己的程序中,按需使用,大致的步骤如下:1.首先下载.ttf格式的字体文件,互联网中有各式各样的字体文件,甚至会有肥猪流脑残火星文,可以将这些文件下载来,点击可以预览效果,选自己喜欢的。2.将选好的.ttf字体文件放入工程下的assets目录中,例如下图:3.在你需要变换字体的控件处使用代码进行...
Android仿QQ微信UI实现导航页和开场动画【附源码】

Android仿QQ微信UI实现导航页和开场动画【附源码】

相信大家对于微信等社交应用的UI界面已经都很熟悉了,该UI最值得借鉴的莫过于第一次使用的时候一些列产品介绍的图片,可以左右滑动浏览,最后进入应用,这一效果适用于多种项目中,相信今后开发应用一定会用得到。网路上也有不少这样的例子可以参考,不过看别人的代码是一回事,自己实际做起来又是另一回事,今天的这个微信的Demo是研究过多个类似的界面后自己动手去实现的效果,并且都加上了详细的注释(虽然有的多余),方便以后回顾一看就能看明白,只有真正亲自写一写,体会才会更深...
Android常用权限permission列表摘录

Android常用权限permission列表摘录

一个Android应用程序需要权限才能调用某些android系统的功能;一个android应用也可能被其他应用调用,因此也需要声明调用自身所需要的权限。除了平时常用的权限记得比较熟悉,还有很多的权限一时需要用到却有想不起来,下面是摘选自网络的一组使用频率比较高的权限的列表,整理归档备用属性说明android.permission.ACCESS_CHECKIN_PROPERTIES允许读写访问 "properties"表在checkin数据库中,改值可以修改...
Gcc编译C程序常用选项

Gcc编译C程序常用选项

Gcc编译C程序常用选项-o 指定目标文件名-std=c99 用C99标准编译-Wall 警告全开-c 只编译不链接,生成中间文件-g 生成调试信息-O0 : 默认不优化(若要生成调试信息,最好不优化)-O1 : 简单优化,不进行速度与空间的权衡优化;-O2 : 进一步的优化,包括了调度。(若要优化,该选项最适合,它是GNU发布软件的默认优化级别;-O3 : 鸡肋,兴许使程序速度更慢;-funroll-loops : 展开循环,会使可执行文件增大,而速度是...
<< 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 >>