- 博客(83)
- 收藏
- 关注
原创 redis数据类型 - String
String类型最简单的类型,一个key对应一个value,string类型是二进制安全的。redis是string可以包含任何数据,比如jpg图片或序列化的对象相关操作set 设置一个 key-value键值对:set name jacksetnx nx是not exist的意思,不存在才添加,成功返回1,失败返回0,说明key已存在:setnx name jack
2016-02-29 11:07:13 436
原创 redis的安装
安装将 redis-2.4.17.tar.gz上传到/lamp目录下: cd /lamptar -zxvf redis-2.4.17.tar.gzcd redis-2.4.17makecd srcmake install提示如下信息说明安装成功: mkdir -p /usr/local/bincp -pf redis-server /us
2016-02-28 20:39:44 460
原创 mysql慢查询日志
1.查看mysql是否开启了慢查询日志mysql>show variables like "%slow%";2.开启mysql慢查询日志:vi /etc/my.cnf保存my.cnf后,重启mysql服务.
2016-02-26 21:18:03 452
原创 PHP定义命令空间的几个注意点
1.声明命令空间必须是程序脚本的第一条语句。另外,所有非 PHP 代码包括空白符都不能出现在命名空间的声明之前。下面是错误的示例:<?phpnamespace MyProject; // 致命错误 - 命名空间必须是程序脚本的第一条语句?>这个也是错误的<?php // Lots // of // interesting // comments and white space
2016-02-26 16:07:48 638
原创 jquery查找ul>li里 img的 alt属性="xxxx"时,img的src的值
html: jquery:function getSRC(alt){ return $('.list-h li').find('img').filter('[alt="'+alt+'"]').attr('src'); }
2016-02-26 09:57:58 6925
原创 mysql主从复制
mysql主从复制的作用:主服务器配置:这里建议用msyqldump备份 为xxx.sql从服务器的配置:从数据库其它命令:常见错误:
2016-02-25 22:10:53 400
原创 msyql从bin-log日志恢复数据
mysql备份备份test数据库的数据:mysqldump -uroot -p123456 test -l -F > /tmp/test.sql# -F 即flush logs,可以重新生成新的日志文件,包括log-bin日志# -l 读锁,备份期间不能写只能读查看bin-log日志:mysql>show master status; mysql的备份的恢复:mysql -uroot -
2016-02-25 21:10:25 1921
原创 mysql bin-log日志
开启mysql bin-log 日志:vi /etc/my.cnf查看bin-log日志:与bin-log有关的日志刷新:mysql备份:
2016-02-25 20:44:29 432
原创 MySQL用户授权
登录mysql数据库:mysql>mysql -uroot -p 123456查看用户授权表:select user,host,password from mysql.user;在主服务器上给从服务器设置授权用户:1.mysql>grant all on *.* to user1@192.168.10.2 identified by "password";(表示:授权所有的权限关于所有的数据库的
2016-02-25 20:15:01 482
原创 04环信聊天界面 - 显示历史会话记录
1.在消息控制器获取历史回话记录/** * 获取历史会话对象记录 */- (void)loadConversations{ // 当前登录用户回话对象列表 NSArray *conversations = [[EaseMob sharedInstance].chatManager conversations]; if (conversations.count ==
2016-02-22 22:42:53 11289
原创 04环信聊天界面 - 显示时间的cell
1.拖一个UITableViewCell,再向里面添加一个UILabel,设置label垂直居中对齐,水平居中对齐。自定义一个继承与UITabelViewCell的TimeCell类。2.聊天控制器tableView的dataSoures之前是存放的 EMMessage 消息模型,现在需要加入 时间(字符串)。我们采用的方案是单独写一个方法来添加数据源,在此方法里,判断是否要给数据
2016-02-22 20:09:55 4448
原创 Mac电脑使用MAMP PRO作为php集成环境,在连接mysql的注意点
当我们在Mac上使用MAMP的时候,连接mysql设置数据库主机地址,可能"127.0.0.1"连接不上。解决方案是使用:localhost还可能多配置一项:unix_socket下面距离,在ThinkPHP 3.2.3中的数据库配置://数据库配置信息 'DB_TYPE' => 'mysql', // 数据库类型 'DB_HOST' => 'localhost
2016-02-22 12:01:26 8635
原创 04环信聊天界面 - 发送图片消息和显示图片
1.在聊天控制器连线/** * 点击上传图片 */- (IBAction)showImgPickerAction:(UIButton *)sender{ // 图片选择控制器 UIImagePickerController *imgPicker = [[UIImagePickerController alloc] init]; imgPicker.source
2016-02-21 15:51:13 12646
原创 04环信聊天界面 - 播放语音消息
分析:需要监听messageLabel的点击事件,然后播放1.在chatCell里给messageLabel添加点击事件/** * 初始化 */-(void)awakeFromNib{ // 1.给messageLabel添加手势 self.messageLabel.userInteractionEnabled = YES; UITapGestureRecog
2016-02-20 19:44:31 4154
原创 04环信聊天界面 - 完善语音消息在cell上的显示
1.在发送语言的方法里,把语言消息添加到数据源,并刷新表格/** * 发送语音 * * @param recordPath 语音文件路径 * @param duration 时间 */- (void)sendVoice:(NSString *)recordPath duration:(NSInteger)duration{ // 1.构造一个 语音消息体 E
2016-02-19 20:59:32 2135
原创 04环信聊天界面 - 发送语音
1.拖一个按钮覆盖textView,设置高度和textView一样,左右下的约束和textView一样。默认隐藏。点击了左边vioceBtn按钮才显示#pragma mark - action/** * VoiceBtn被点击了 */- (IBAction)clickedVoiceBtn:(UIButton *)sender{ // 按钮图片切换 self.vo
2016-02-18 21:57:40 4972
原创 04环信聊天界面 - 完善聊天输入框
一、设置inputToolbar的高度,随着输入文字的增多而改变1.连线inputToolbar的高度的约束:2.在UITextViewDelegate代理方法 - textViewDidChange:计算高度#pragma mark - UITextViewDelegate- (void)textViewDidChange:(UITextView *)textView{
2016-02-17 22:29:34 2574
原创 04环信聊天界面 - 监听消息回复
1.在聊天控制器的viewDidLoad添加代理:// 4.设置聊天管理器的代理 [[EaseMob sharedInstance].chatManager addDelegate:self delegateQueue:nil];2.遵守协议@interface ChatViewController ()3.实现代理方法:#pragma mark - EMCallManagerDele
2016-02-16 20:20:33 3802
原创 04环信聊天界面 - 加载本地聊天记录
1在聊天控制器.加载聊天记录,并添加到数据源:/** * 加载本地的聊天记录 */- (void)loadLocalChatRecords{ EMConversation *conversation = [[EaseMob sharedInstance].chatManager conversationForChatter:self.buddy.username conversat
2016-02-16 20:08:55 6253
原创 04环信聊天界面 - 发送聊天消息
聊天界面布局完成,下面我们来完成发送消息功能。连线设置textView的为聊天控制器。然后监听textView文字的改变,如果用户有输入回车符,表示“发送”消息#pragma mark - UITextViewDelegate- (void)textViewDidChange:(UITextView *)textView{ //监听用户是否点击了键盘的"Send"按钮 -- 判
2016-02-16 19:20:05 5601 1
原创 04环信聊天界面 - 计算cell的高度
我们这计算cell的高度,主要是内部UIlabel的高度。如果label上文字已设置,就可以确定label的高度。所以,我们在cell里提供一个方法://// ChatCell.m#import "ChatCell.h"@implementation ChatCell- (CGFloat)cellHeight{ // 1.重新布局子控件(后label的高度已经确
2016-02-14 22:15:36 1364
原创 04环信聊天界面 - 接收方cell的布局
1.拖一个UITabelViewCell到聊天界面的tableView里。cell里需要添加3个控件,1个UIImageView作为头像,一个UILabel(显示聊天文字),另一个imageView(作为label的背景)。控件关系:背景的imageView其实就是聊天气泡,文字在气泡内,文字和气泡有边距。头像尺寸35x35, UILabel设置Lines属性为0就可以换行,并且要
2016-02-14 21:10:20 2496 1
原创 04环信聊天界面 - 底部工具栏布局
1.界面布局2.演示效果3.聊天控制器代码如下://// ChatViewController.m#import "ChatViewController.h"@interface ChatViewController ()/** * inputToolbar(输入工具栏)底部的约束 */@property (weak, nonatom
2016-02-13 21:14:34 2041
原创 02环信集成SDK基础功能 - 退出登录
1.界面布局,相关配置 2.设置控制器代码//// SettingViewController.m#import "SettingViewController.h"#import "EaseMob.h"@interface SettingViewController ()@property (weak, nonatomic) IBOutlet UIButton *lo
2016-02-13 19:08:17 2760
原创 03环信好友管理 - 删除好友
要实现的效果:方法:#pragma mark - tableViewDelegate/** * 实现这个方法,滑动表格cell就会出现Delete按钮 */- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowA
2016-02-13 16:50:16 2530
原创 03环信好友管理 - 监听"加好友"的请求
监听加好友请求当您收到好友请求,如果您没有处理,则您每次登录的时候,服务器都会给你发该请求, 请确保你在登录成功之前已经注册了监听。需求:用户test6向用户test发送“加好友”请求,用户test处理(同意或拒绝),并且同意后要刷新联系人表格。实现:需要实现2个回调方法,具体如下:/*! @method @brief 好友请求被拒绝时的回调 @discussion @pa
2016-02-13 16:23:03 4896
原创 03环信好友管理 - 好友请求同意后刷新联系人列表
需求:当用户test向用户test3申请添加好友,test3同意后,用户test的联系人列表应该刷新(最初没有test3这个好友)实现:所以我们应该在“好友请求”被接受时的回调方法里,向服务器请求最新的好友数据我们这里需要在ContactViewController控制器的 - didAcceptedByBuddy:方法中添加一些代码,最终该方法代码如下:#pragma mark - EM
2016-02-13 15:33:08 2700
原创 03环信好友管理 - 获取好友列表
获取好友列表,环信提供了4种方法。从本地获取:该方法比较特殊,只有在您之前获取过好友列表的情况下才会有值,且不能保证最新。NSArray *buddyList = [[EaseMob sharedInstance].chatManager buddyList];另外3种都是从服务器上获取://1. 同步方法EMError *error = nil;NSArray *buddyList
2016-02-13 13:19:55 8482
原创 03环信好友管理 - 添加好友(好友申请处理结果回调)
我们把环信官方的demo项目中的AppKey改成我们自己的:在AppDelegate+EaseMob.m文件中。然后用test1用户登录,查看发现收到了,test这个用户的 添加好友的申请1.好友申请处理结果回调我们这里选择在联系人控制器ContactViewController里监听//// ContactViewController.m#import "Conta
2016-02-13 11:40:02 4871
原创 03环信好友管理 - 添加好友(好友申请)
EMChatManagerBuddyDelegateØ上面的协议的实现了对用户的基本操作,如(1)添加好友(2)从本地获取好友列表(3)从服务器获取最新好友列表(4)接收好友添加请求(5)删除好友(6)被好友从名单上删除1.搭建界面,创建相关控制器2.在AddFriendViewController控制器里:/** * 添加好友
2016-02-13 10:32:15 4501
原创 02环信集成SDK基础功能 - 网络掉线自动重连
当掉线时,IOS SDK会自动重连,只需要监听重连相关的回调,无需进行任何操作。//// MessageViewController.m#import "MessageViewController.h"#import "EaseMob.h"@interface MessageViewController ()@end@implementation MessageViewC
2016-02-12 21:44:03 3623
原创 02环信集成SDK基础功能 - 自动登录
自动登录:即首次登录成功后,不需要再次调用登录方法,在下次app启动时,SDK会自动为您登录。并且如果您自动登录失败,也可以读取到之前的会话信息。 配置是否进行自动登录SDK中自动登录属性默认是关闭的,需要您在登录成功后设置,以便您在下次app启动时不需要再次调用环信登录,并且能在没有网的情况下得到会话列表。1.修改登录方法,设置自动登录/** * 登录 */- (IB
2016-02-12 21:22:16 3604
原创 02环信集成SDK基础功能 - 注册&登录
1.创建一个Login.storyboard并设置为Main Interface。2.创建控制器//// LoginViewController.m#import "LoginViewController.h"#import "EaseMob.h"@interface LoginViewController ()@property (weak, nonat
2016-02-12 21:03:00 1713
原创 01环信iOS SDK的集成
零.什么是环信?环信是一个第三平台,提供即时通信(IM –Instant Messaging )的服务环信是在XMPP的基础上进行二次开发环信在网络上传输的数据也是XML使用环信,不用自己搭建服务器,节约成本环信日活30万以下,永远免费公司如要开发即时通讯软件,建议首选环信,环信占用市场份额较大一.集成环信的前提准备注册成为环信开发者http
2016-02-12 19:57:15 865
转载 XMPP协议了解
一.Socket层上的协议Socket层上的协议指的数据传输的格式HTTP协议 传输格式:假设:这是假设,实际http的格式不是这样的。 http1.1,content-type:multipart/form-data,content-length:188,body:username=zhangsan&password=123456XMPP协议,是一款即时
2016-02-12 15:20:49 699
原创 Soket转发消息服务(群聊)
编写群聊服务端代码,稍加改写之前的10086服务端的代码,如下://// ServiceListener.m#import "ServiceListener.h"#import "GCDAsyncSocket.h"@interface ServiceListener() /** * 服务器端的socket对象 */@property(nonatomic,strong)
2016-02-12 14:43:09 881
原创 实现Socket服务端监听(模拟10086在线服务)
实现socket的监听方法(1)使用C语言实现,(2)使用CocoaAsyncSocket第三方框,内部是对C的封装https://github.com/robbiehanson/CocoaAsyncSocketTelnet命令telnet host port/telnet 192.168.10.10 52881.telnet命令是连接服务器上的某个端口对应的服务
2016-02-12 12:14:27 2719
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人