当前位置:  编程技术>移动开发
本页文章导读:
    ▪csapp书下socket的服务器和客户端的代码        csapp书上socket的服务器和客户端的代码客户端的代码:      #include "csapp.h" int main(int argc, char **argv) { int clientfd, port; char *host, buf[MAXLINE]; rio_t rio; if (argc != 3) { fprintf(stderr, "usage: %s <.........
    ▪ 【1.3】系统漫游——了解编译系统怎么工作的好处        【1.3】系统漫游——了解编译系统如何工作的好处虽然现代编译系统已经发展的相当“智能”,但并不能成为我们不去了解它的理由,它是我们代码转换的工具,要想使用好这个工具,就必.........
    ▪ CMDN Club #23 开放平台跟O2O移动产品开发       CMDN Club #23 开放平台和O2O移动产品开发CMDN Club #23 开放平台和O2O移动产品开发活动时间:12月14日下午2:00~5:00活动地点:望京福泰公寓酒店一层纽约厅活动人数:60人活动形式:演讲+小型讨论.........

[1]csapp书下socket的服务器和客户端的代码
    来源: 互联网  发布时间: 2014-02-18
csapp书上socket的服务器和客户端的代码

客户端的代码: 

   

#include "csapp.h"


int main(int argc, char **argv) 
{
	int clientfd, port;
	char *host, buf[MAXLINE];
	rio_t rio;
	
	if (argc != 3)
		{
			fprintf(stderr, "usage: %s <host> <port>\n", argv[0]);
			exit(0);
		}
		
		host = argv[1];
		port = atoi(argv[2]);
		printf("----000\n");
		clientfd = Open_clientfd(host, port);
		printf("----1111\n");
		Rio_readinitb(&rio, clientfd);
		
		while (Fgets(buf, MAXLINE, stdin) != NULL)
		{
			Rio_writen(clientfd, buf, strlen(buf));
		printf("---test---\n");
			Rio_readlineb(&rio, buf, MAXLINE);
			Fputs(buf, stdout);
		}
	  Close(clientfd);
	  exit(0);
}

服务器的代码:

     

#include "csapp.h"


void echo(int connfd)
{
	size_t n;
	char buf[MAXLINE];
	rio_t rio;
	
	Rio_readinitb(&rio, connfd);
	while ((n = Rio_readlineb(&rio, buf, MAXLINE)) != 0)
	{
		printf("server received %lu by66tes \n", n);
		printf("%s\n", buf);
	//	Rio_writen(connfd, buf, n);
	}
}

int main(int argc, char **argv)
{
	int listenfd, connfd, port, clientlen;
	
	struct sockaddr_in clientaddr;
	struct hostent *hp;
	char *haddrp;
	
	if (argc != 2)
		{
			fprintf(stderr, "usage: %s <port> \n", argv[0]);
			exit(0);
		}
		
		port = atoi(argv[1]);
		listenfd = Open_listenfd(port);
		while (1)
		{
			clientlen = sizeof(clientaddr);
			connfd = Accept(listenfd, (SA *)&clientaddr, &clientlen);
			
			/* determine the domin name and IP address of the client. */
			hp = Gethostbyaddr((const char *)&clientaddr.sin_addr.s_addr, sizeof(clientaddr.sin_addr.s_addr), AF_INET);
			haddrp = inet_ntoa(clientaddr.sin_addr);
			printf("server connect to %s (%s)\n", hp->h_name, haddrp);
			echo(connfd);
			Close(connfd);
			
		}
		exit(0);
		
	
}
      这是书上的源码,很容易看明白, 这样就可以大概了解socket的基本方法。以下 运行

       ./echoserver 8080&

       ./echoclient ubuntu-64bit-compile 8080 

     这样就可以啦。

     


    
[2] 【1.3】系统漫游——了解编译系统怎么工作的好处
    来源: 互联网  发布时间: 2014-02-18
【1.3】系统漫游——了解编译系统如何工作的好处

虽然现代编译系统已经发展的相当“智能”,但并不能成为我们不去了解它的理由,它是我们代码转换的工具,要想使用好这个工具,就必须对它有相对全面的了解才行。

了解编译系统如何工作可以使我们:

1、优化程序性能:真正影响系统执行效率的是编译完成后的“二进制代码”,如果想做的更好,我们就非常有必要知道源代码是如何转换成二进制代码的,以及使用了怎样一种规则。只有从汇编的角度理解机器执行路径才能更好的评估系统性能,所以我们需要对不同C语言转换出来的汇编语言有所了解。问自己几个问题:switch是否总比if-else高效?数组是否比指针效率高?如何区分函数调用和宏函数的使用环境?等等这些都是我们需要回答的。

2、理解链接时出现的错误:根据经验,最困扰我们的错误很多都跟链接操作相关,尤其是在进行大型系统开发时。只有了解编译系统内部的操作原理以及错误出现的时机,才能真正理解这些错误,并加以排除和防范。想一下:为什么有时候编译器报错"无法解析某个引用"?为什么不能定义两个全局变量?为什么有些错误直到运行时才出现?而且出现时机不定?(多半是数据溢出,指针错误)。

3、避免安全漏洞:据查“缓冲区溢出漏洞”一直是网络安全上的重心,主要是很多程序员对自己的程序没有相关堆栈规则的认识,不了解底层的数据组织造成的。这些问题如果造成,在排查时非常困难,将严重影响产品进度。我就曾遇到过这个情况,在开发某一款产品时,由于嵌入式硬件和操作系统本身的的资源限制,造成了当执行某个模块时,其他无关数据错误的现象,经排查才发现是由于操作系统对栈空间大小有限制,该模块执行时,对资源的要求较高造成了栈数据溢出,直接覆盖了其他无关数据。当修改系统默认栈空间之后,该问题从未出现。



    
[3] CMDN Club #23 开放平台跟O2O移动产品开发
    来源: 互联网  发布时间: 2014-02-18
CMDN Club #23 开放平台和O2O移动产品开发

CMDN Club #23 开放平台和O2O移动产品开发


活动时间:12月14日下午2:00~5:00

活动地点:望京福泰公寓酒店一层纽约厅

活动人数:60人

活动形式:演讲+小型讨论或互动游戏


活动主题:开放平台和O2O移动产品开发


活动安排:


2:00~2:10:开场

2:10~2:50:中国电信天翼开放平台+法国电信

2:50~3:30:O2O“失落的半圆”和未来畅想(客如云创始人:彭雷)

3:30~3:40:短休

3:40~4:20:QR Code二维码的前世今生(信恩科技创始人:林兴陆)

4:20~5:00:音频二维码的技术实现和应用场景(“蛐蛐儿”创始人:朱连兴)


演讲#1:天翼开放平台服务及架构解析


内容简介:该议题将围绕天翼开放平台所提供的开发者合作服务,重点介绍天翼开放平台合作状况、中国电信开放能力体系及天翼开放平台系统架构,并探讨未来基于运营商开放平台合作的发展与机遇。这个环节还将邀请法国电信的嘉宾参与,分享开放平台的“掘金”之路


讲师简介:李志猛  中国电信互联网业务部能力运营室经理



演讲#2:O2O“失落的半圆”和畅想


内容简介:O2O,从字面上来看,就是把线上用户带到线下Online 2 Offline。对于O2O,其实只是一个半圆,没有闭环。这个“失落的半圆”,其实是Offline 2 Online!O2O未来的创业公司,第一个步是要寻找的是找到商户的某个或某几个痛点,并以此建立有忠诚度,长期合作的模式。然后调动用户与商户互动,使得商户可以更加依赖你的服务,这样就一定可以走出一个成功的企业。本演讲将剖析O2O的前世今生,对团购和电子商务产品和行业的发展进行分析和畅想,并预测未来O2O的格局。


演讲嘉宾:彭雷,客如云创始人,前24券COO。资深创业者,在互联网新业务模式探索,综合运营管 理,研发管理方面有着丰富的经验。从大学开始十余年的创业历史,创立了多个创业公司, 涵盖领域包括,O2O,团购,数据库营销,数据挖掘,CRM,SNS到企业应用等。


演讲#3:QR Code二维码的前世今生


内容简介:QR Code是使用最广泛的二维码,它也是第一个明确定义并公开发布的标准化规范。随着iOS 6推出 Passbook,完善的生态系统将使该功能迅速普及, 二维码将真正腾飞。而随着线下的商户迅速集成到线上,与二维码结合的线上产品形态也越来越丰富。O2O的商业前景被众多投资客看好。该演讲将剖析二维码的前世今生,大量的应用场景示例,将启发你在O2O掘金路上的新思考。


演讲嘉宾:林兴陆,信恩科技创始人。80后互联网老兵,17岁加盟瀛海威,先后任职于润迅、恒基伟业、265等企业。2000年曾与刘韧、杜红超共同发起DoNews,此外还参与组建过多家互联网公司。后投身于移动互联网创业大潮,并致力于创建儿童平板操作系统。


演讲#4:音频二维码的技术实现和应用场景


内容简介:利用声音实现手机之间或者手机与PC之间的近距离信息传输,这就是我们说的音频二维码。目前类似于这种技术的应用有联想开发的茄子快传,腾讯在“朋友圈”应用上的“嘀一嘀”功能,以及蛐蛐儿SDK。该演讲将探讨这一技术的实现和应用场景,内容包括:音频二维码的实现原理,音频二维码技术与传统二维码的比较,音频二维码的应用场景畅想:文件传输、社交分享、电子门票、电子支付等等。


演讲嘉宾:朱连兴,“蛐蛐儿”创始人,锦涛年间知名草根iPhone开发团队139.ME创始人,139.ME2008开始做iPhone开发,是国内第一个被媒体广泛报道的iOS开发团队。



报名地址:http://huiyi.csdn.net/cmdn/view/181



    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3