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

首页 / 操作系统 / Linux

Linux下C语言多线程网络通信简单聊天程序

Linux下C语言多线程网络通信简单聊天程序

功能描述:程序应用多线程技术,可是实现1对N进行网络通信聊天。但至今没想出合适的退出机制,除了用Ctr+C。出于演示目的,这里采用UNIX域协议(文件系统套接字),程序分为客户端和服务端。应用select函数来实现异步的读写操作。先说一下服务端:首先先创建套接字,然后绑定,接下进入一个无限循环,用accept函数,接受“连接”请求,然后调用创建线程函数,创造新的线程,进入下一个循环。这样每当有一个新的“连接”被接受都会创建一个新的线程,实现1对N的网络通信...
Windows到Linux——移植新浪微博开放平台客户端(C++)到Linux

Windows到Linux——移植新浪微博开放平台客户端(C++)到Linux

看微博这么火,也试试这新浪微博开放平台,发现给了C++版客户端,还给了测试例子,可是没有区分出Linux平台和Mac平台,就这么尝试下把这个客户端程序移植到Linux下运行看看。不过也不是完全盲目,还是看到人家给的SDK资源下有着Linux目录和Mac目录,说明应该再编写的时候也考虑到了平台的迁移。再看看代码很多地方对Win32、Wince有区分,但也没有那么完全(后来编译的时候发现的。)目前的情况是测试例子是能跑了,所需的库也有了,但是最初没有仔细看下代...
Android学习笔记---ImageButton

Android学习笔记---ImageButton

ImageButton用图片显示一个可以被用户按下和单击的按钮。默认情况下,ImageButton看起来和一般的Button没有什么区别。标准的Button将会在状态变化的时候,显示不同的背景颜色。ImageButton表面显示的图片通过XML属性 "Android:src"来定义,或者通过setImageResource(int)方法来设置。 想要去除标准按钮的背景图片,可以通过定义自己的背景图片,或者设置背景为透明。 如果想要在按钮的不同状态下显示不同...
Android学习笔记--播放MP3

Android学习笔记--播放MP3

继续Android课程的学习。主要学习了在Android平台下面播放MP3音乐的技巧。通过今天的学习,为后面开发应用过程中为应用程序添加背景音乐,以及开发音乐播放器打下基础。以下是我们从MediaPlayer类中得到的MediaPlayer对象的一个状态图:首先,我们打开Android开发文档Dev Guide标签,找到Audio and Video开发页。在该页中为我们详细介绍了使用类MediaPlayer播放音乐的方法。总结内容如下:播放文件类型:ra...
QT 列表类型控件(QListWidget等)的代理使用记录

QT 列表类型控件(QListWidget等)的代理使用记录

最近项目中经常使用QListView,QListWidget等列表类型的空间来做。刚开始时不太了解,现在已经搞得比较熟悉了,不过为了防止如果时间久了不看的话会忘,所以暂时把它写到这里。同时也是为了以后方便查看,当然若有需要了解的人,希望他看了后也得到点收获。具体的代码如下:#include "setupItemDelegate.h"#define ICON_PATH QString(qgetenv("PATH"))//static const int te...
Android FrameWork 启动流程

Android FrameWork 启动流程

嵌入式设备启动时bootloader加载linux内核,linux内核启动后运行第一个用户级进程init,从此进程进入Android世界,所以,android是一个框架而不是kernel。在linux系统启动时,内核引导参数上一般都会设置“init=/init”,当android 最底层linux kernel 启动后会执行一个用户级进程init,此进程为所有进程的父进程,进程号为1,这里为整个android框架的入口,init进程为android内所有进...
Java里String的length方法

Java里String的length方法

首先说一下char类型:char类型用来表示单个字符。要想弄清楚char类型,就必须了解Unicode编码表。在设计Java时决定采用16位的Unicode字符集。能表示65536个字符。十分遗憾,经过一段时间,不可避免的事情发生了。Unicode字符超过了65536个。(主要原因是增加了大量的汉语、日语、韩语这样的表意文字),也就是16位的char类型已经不能满足所有的Unicode字符的需要了。代码点(code point):是指与一个编码表中的某个字...
Android GDI分析

Android GDI分析

在Android中所涉及的概念和代码最多,最繁杂的就是GDI相关的代码了。但是本质从抽象上来讲,这么多的代码和框架就干了一件事情:对显示缓冲区的操作和管理。 GDI主要管理图形图像的输出,从整体方向上来看,GDI可以被认为是一个物理屏幕使用的管理器。因为在实际的产品中,我们需要在物理屏幕上输出不同的窗口,而每个窗口认为自己独占屏幕的使用,对所有窗口输出,应用程序不会关心物理屏幕是否被别的窗口占用,而只是关心自己在本窗口的输出,至于输出是否能在屏幕上看见,则...
Android RIL Java

Android RIL Java

RIL-Java在本质上就是一个RIL代理,起到一个转发的作用,是Android Java概念空间中的电话系统的起点。在RIL-D的分析中,我们知道RILD建立了一个侦听套接口,等待RIL-Java的连接。一旦连接成功,RIL-JAVA就可发起一个请求,并等待应答,并将结构发送到目标处理对象。在RIL-Java中,这个请求称为RILRequest。为了直观起见,我还是不厌其烦的给出RIL-Java的框架图。RIL-Java的大框架包含了四个方面:Recei...
Android电话系统

Android电话系统

首先抛开Android的一切概念来研究一下电话系统的最基本的描述。我们的手机首先用来打电话的,随后是需要一个电话本,随后是PIM,随后是网络应用,随后是云计算,随后是想我们的手机无所不能,替代PC。但是作为一个电话的基本功能如下: 0)拨叫电话,接听电话,挂断电话,发送短信,网络连接,PIM管理1)由于电话运营商为我们提供了呼叫等待,电话会议等补充业务,所以我们的手机需要管理多路通话,如何管理?2)来电时,我们要播出来电铃声,接通时我们需要切换语音通道,这...
Android输入分析

Android输入分析

依照惯例,在研究Android输入系统之前给出输入系统的本质描述:从哲学的观点来看,输入系统就是解决从哪里来又将到哪里去问题。输入的本质上的工作就是收集用户输入信息并放置到目标位置。 Android在源代码分类上,并没有输入系统分类。本章的输入系统研究是一个综合的分析,前面的GWES的分析,特别是View的Focus Path以及Window Manager Proxy是本章分析的基础。Android输入系统的组成输入系统由如下几部分组成:1)后台窗口管...
Android GWES分析

Android GWES分析

我这里的GWES这个术语实际上从Microsoft的Window上移植过来的,用GWES来表示Android的窗口事件系统不是那么准确,在Android中Window是个弱化了的概念,更多的表现在View这个概念上。在很大程度上,Android的View的概念可以代替MicrosoftWindow这个概念,有点和Microsof暗中较劲的意味,你用过的概念我就偏不用,这个也是我以为的设计者意图。原始GUI基本框架 首先我们从Android的SDK外特性空间...
Android Zygote Service

Android Zygote Service

在本章我们会接触到这两个单词:Zygote[生物]受精卵,接合子,接合体 Spawn:产卵通过这两个单词,我们就可以大体知道Zygote是干什么的了,就是叫老母鸡下蛋。通过“Zygote”产出不同的子“Zygote”。从大的架构上讲,Zygote是一个简单的典型C/S结构。其他进程作为一个客服端向Zygote发出”孵化”请求,Zygote接收到命令就“孵化”出一个Activity进程来。Zygote系统代码组成及其调用结构:Zygote.java提供访问D...
Android 启动过程详解

Android 启动过程详解

Android从Linux系统启动有4个步骤;(1) init进程启动(2) Native服务启动(3) System Server,Android服务启动(4) Home启动总体启动框架图如:第一步:initial进程(system/core/init) init进程,它是一个由内核启动的用户级进程。内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。init始终是...
Android Service分析

Android Service分析

Android体系架构中三种意义上服务:Native服务 Android服务 Init空间的服务,主要是属性设置,这个IPC是利用Socket来完成的,这个我将在另外一章来讨论。Navite服务,实际上就是指完全在C++空间完成的服务,主要是指系统一开始初始化,通过Init.rc脚本起来的服务,例如ServiceMangerservice,Zygoteservice,Mediaservice,ril_demonservice等。Android服务是指在JV...
Android IPC框架分析 Binder,Service,Service manager

Android IPC框架分析 Binder,Service,Service manager

我首先从宏观的角度观察Binder,Service,ServiceManager,并阐述各自的概念。从Linux的概念空间中,Android的设计Activity托管在不同的的进程,Service也都是托管在不同的进程,不同进程间的Activity,Service之间要交换数据属于IPC。Binder就是为了Activity通讯而设计的一个轻量级的IPC框架。 在代码分析中,我发现Android中只是把Binder理解成进程间通讯的实现,有点狭隘,而是应该...
<< 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 >>