51
Dev开发社区
首页
文章
问答
工具
搜索
登录
注册
#android权威编程指南
Socket网络编程--聊天程序(7)
接上一小节,本来是计划这一节用来讲数据库的增删改查,但是在实现的过程中,出现了一点小问题,也不是技术的问题,就是在字符界面上比较不好操作。比如要注册一个帐号,就需要弄个字符界面提示,然后输入数字表示选择,在依次输入信息。(这一点,用C写过什么管理系统就知道,很是麻烦。)考虑到本程序讲的是网络编程,就不弄增删改查了,...
代码星球
·
2020-12-28
Socket
网络编程
聊天
程序
Socket网络编程--聊天程序(6)
这一小节将增加一个用户的结构体,用于保存用户的用户名和密码,然后发给服务器,然后在服务器进行判断验证。这里就有一个问题,以前讲的就是发送字符串是使用char类型进行传输,然后在服务器进行用同样是字符串进行接收。然而作为一个结构体是不是也可以呢?如果有看send或recv的函数定义就知道第二个参数是void*类型,也...
代码星球
·
2020-12-28
Socket
网络编程
聊天
程序
Socket网络编程--聊天程序(5)
上一小节我们讲了使用select来避免使用多进程的资源浪费问题。上次只是实现了从多个客户端发送数据给服务器端,接下来就要实现从服务器端发送数据给各个客户端。 使用select多路转换处理聊天程序2 client.c使用上一节用的那个,在那个基础上修改下面几句66//send-recv一些返回指没有判...
代码星球
·
2020-12-28
Socket
网络编程
聊天
程序
Socket网络编程--聊天程序(4)
上一小节讲到可以实现多客户端与服务器进行通讯,对于每一个客户端的连接请求,服务器都要分配一个进程进行处理。对于多用户连接时,服务器会受不了的,而且还很消耗资源。据说有个select函数可以用,好像还很NB的样子。 使用select多路转换处理聊天程序 下面摘取APUE14.5小结I/O多路转接当从一个描述符读,...
代码星球
·
2020-12-28
Socket
网络编程
聊天
程序
Socket网络编程--聊天程序(3)
上一小节,已经讲到可以每个人多说话,而且还没有限制,简单的来说,我们已经完成了聊天的功能了,那么接下来我们要实现什么功能呢?一个聊天程序至少应该支持一对多的通讯吧,接下来就实现多个客户端往服务器发送数据,和服务器向多个客户端发送数据。 多对一,单向,各个客户端都可以向服务器发送数据 close函数 #incl...
代码星球
·
2020-12-28
Socket
网络编程
聊天
程序
Socket网络编程--聊天程序(2)
上一节简单如何通过Socket创建一个连接,然后进行通信。只是每个人只能说一句话。而且还是必须说完才会接收到信息,总之是很不方便的事情。所以这一小节我们将对上一次的程序进行修改,修改成每个人可以多说话,主要是通过Linux下多进程fork实现的。 一对一,server和client是每个人都可以多说几句话 由于...
代码星球
·
2020-12-28
Socket
网络编程
聊天
程序
Socket网络编程--聊天程序(1)
很早的一段时间,看了APUE和UNPv1了解了网络编程,但是但是只是看而已,没有具体的实践,趁现在没有什么事做,就来实践了解一下网络编程。写博客保存下来,方便以后用到的时候可以查到。 此次的聊天程序是迭代开发的。就是一步一步的修改成不同功能的聊天程序。 服务器server和客户端client 一对一,se...
代码星球
·
2020-12-28
Socket
网络编程
聊天
程序
PHP 判断客户端请求是 Android 还是 IOS
<?phpif(strpos($_SERVER['HTTP_USER_AGENT'],'iPhone')||strpos($_SERVER['HTTP_USER_AGENT'],'iPad')){echo'systermisIOS';}elseif(strpos($_SERVER['HTTP_USER_AGENT...
代码星球
·
2020-12-27
PHP
判断
客户端
求是
Android
《架构整洁之道》之函数式编程
函数式编程语言中的变量是不可变的。为什么不可变性是软件架构设计需要考虑的重点呢?为什么软件架构师要操心变量的可变性呢?答案显而易见:所有的竞争问题、死锁问题、并发更新问题都是由可变变量导致的。如果变量永远不会被更改,那就不可能产生竞争或者并发更新问题。如果锁状态是不可变的,那就永远不会产生死锁问题。换句话说,一切并发应...
代码星球
·
2020-12-27
架构整洁之道
之函
数式
编程
《架构整洁之道》之面向对象编程
面向对象是封装、继承、多态三项的有机组成。通过采取封装特性,我们可以把一组相关联的数据和函数圈起来,使圈外面的代码只能看见部分函数,数据则完全不可见。譬如,在实际应用中,类中的公共函数和私有成员变量就是这样。继承的主要作用是让我们可以在某个作用域内对外部定义的某一组变量与函数进行覆盖。多态是函数指针的一种运用。综上,我...
代码星球
·
2020-12-27
架构整洁之道
面向
对象
编程
《架构整洁之道》之结构化编程
Dijkstra很早就得出的结论是:编程是一项难度很大的活动。一段程序无论复杂与否,都包含了很多的细节信息。如果没有工具的帮助,这些细节的信息是远远超过一个程序员的认知能力范围的。而在一段程序中,哪怕仅仅是一个小细节的错误,也会造成整个程序出错。Dijkstra提出的解决方案是采用数学推导方法。他的想法是借鉴数学中的公...
代码星球
·
2020-12-27
架构整洁之道
结构化
编程
《架构整洁之道》之编程范式总览
结构化编程是第一个普遍被采用的编程范式(但是不是第一个被提出的),由EdsgerWybeDijkstra于1968年最先提出。与此同时,Dijkstra还论证了使用goto这样的无限制跳转语句将会损害程序的整体结构。结构化编程范式归纳:结构化编程对程序控制权的直接转移进行了限制和规范。编程领域中第二个被广泛采用的编程范...
代码星球
·
2020-12-27
架构整洁之道
编程
范式
总览
Android 查询 添加 修改 删除通讯录联系人示例
1.AndroidManifest.xml中添加权限<uses-permissionandroid:name="android.permission.READ_CONTACTS"></uses-permission><uses-permissionandroid:name="android...
代码星球
·
2020-12-26
Android
查询
添加
修改
删除
Android 增,删,改,查 通讯录中的联系人
一.权限操作通讯录必须在AndroidManifest.xml中先添加2个权限,<uses-permissionandroid:name="android.permission.READ_CONTACTS"></uses-permission><uses-permissionandroid...
代码星球
·
2020-12-26
Android
通讯录
中的
联系人
Android 获取联系人和电话号码
获取联系人和电话号码privatevoidqueryContactPhoneNumber(){String[]cols={ContactsContract.PhoneLookup.DISPLAY_NAME,ContactsContract.CommonDataKinds.Phone.NUMBER};Cursorcurs...
代码星球
·
2020-12-26
Android
获取
联系
人和
电话号码
首页
上一页
...
51
52
53
54
55
...
下一页
尾页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他