- 博客(12)
- 资源 (13)
- 收藏
- 关注
原创 STUN协议检测网络环境流程
STUN(Simple Traversal of UDP over NATs,NAT的UDP简单穿越)是一种网络协议,允许位于NAT(或多重NAT)后的客户端找出自己的公网地址,查出自己位于哪种类型的NAT之后。这些信息可用来在两个同时处于NAT路由器之后的主机之间建立UDP通信,下面先简要介绍一下NAT类型。NAT(网络地址转换)按照实现方式分为:Full Cone NAT,Rest
2012-08-17 10:29:55 3545
原创 装配二进制字符串(pack函数)
最近看一点python的代码,发现struct这个包在处理网络编程上非常强大,pack和unpack函数能很轻松地将数据组包拆包,如下所示:#! /usr/bin/env pythonimport socket, struct, time, reif __name__ == '__main__': num1 = 5 num2 = 10 str1 = 0x
2012-08-16 16:37:04 2853
原创 cocoa应用程序嵌入浏览器控件
使用VS.net创建一个带浏览器插件的应用程序很简单,实现访问网页功能只需要添加几行代码即可。编写cocoa应用程序嵌入浏览器控件也很简单。首先创建一个cocoa应用程序,拖动一个按钮,一个文本框,以及一个webview控件到窗体上,添加webkit.framework库的引用在CPAppDelegate类里面添加如下代码并绑定响应控件(xcode4.3.3环境需要包含WebKit
2012-08-15 22:25:50 1731
转载 /MT、/MD编译选项,以及可能引起在不同堆中申请、释放内存的问题
原文链接2012-2-3烛秋一、MD(d)、MT(d)编译选项的区别1、编译选项的位置以VS2005为例,这样子打开:1) 打开项目的Property Pages对话框2) 点击左侧C/C++节3) 点击Code Generation节4) 右侧第六行Runtim
2012-08-13 11:46:05 1363
原创 TCP端口同时做服务器与客户端
下面的代码主要实现两个功能:1,通过bind使本机指定端口如2012端口与远端服务器通信,不指定的话会随机分配2,然后使用该指定端口创建监听服务,接受其他客户端的连接。主要方法用到端口复用,通过调用setsocketopt函数设置标记位实现,不进行端口复用的话程序在第二个步骤bind的时候会出现端口已被占用的错误信息#include #include #include #
2012-08-09 17:11:25 5290 1
原创 cocoa程序简单的加法器
使用VS开发windows窗体程序以及各种Java的IDE开发桌面应用程序比较直观,都是简单地拖动控件,直接就可以编写代码,这几天使用xcode发现不是很方便,下面记录一下开发xcode开发窗体程序的大致过程。(需要注意的是创建cocoa应用程序时需要自行添加controller文件)首先是新建一个cocoa应用程序,拖动控件放在窗体上第二步很关键,我们需要创建一个用于编写事件响应
2012-08-08 22:08:49 1453
原创 iphone程序HelloWorld
刚开始尝试xcode(4.3.3版本)来开发程序,使用上和msvc,bcb等有很多不一样的地方。下面通过一个简单的点击按钮控制显示文本的程序来做笔记记录一下开发过程。首先创建一个ios的single view application,编辑MainStoryboard.storyboard,拖动Label控件以及Round Rect Button到屏幕中央。点击Xcode右上角的“S
2012-08-07 22:13:14 678
原创 简单的UDP穿透示例
实验环境,台式机win7+用VirtualBox搭建的两个虚拟机Linux环境,两个虚拟机的网络连接方式都选择为网络地址转换(NAT)。很明显两个虚拟操作系统之间不能直接通信,需要在主机win7上搭建服务器以帮助两个虚拟机互相穿透通讯。下面是实验的全部代码。A 首先是服务器端代码,出于简洁的考虑,用C#语言实现个UDPServerusing System;using System.Col
2012-08-07 17:28:53 1027
原创 php的session/cookie函数
Cookies是网站为了区别用户,进行session跟踪存储在用户本地浏览器上的数据。Cookies是由服务器端生成,发送给浏览器,浏览器将Cookie的key/value保存到某个目录下的文本文件中,下次请求同一网站时发送该Cookie给服务器(前提是浏览器启用了cookie服务)不同网页也能通过cookie来传递信息。创建cookie,设置过期时间10s<?phpif(is
2012-08-04 20:43:21 646
原创 NSString字符串使用
NSString是NSObject的一个子类,不同于标准的ANSI的字符串,下面大致看看这个类怎么使用。首先安装GNUStep编译环境编译链接代码的方式如下:$ gcc -o test test.m -I/GNUstep/System/Library/Headers -fconstant-string-class=NSConstantString -L/GNUstep/System/L
2012-08-02 19:51:57 2263
原创 用SDK实现属于自己的网盘
dbank 网盘 SDK 下载地址:http://code.google.com/p/dbank-sdk-dotnet/抽空做了个demo,实现一个专属自己的网盘 demo的下载地址:http://dl.dbank.com/c0wnjfip04界面如下图所示。左侧是用户鉴权的实现,网盘用户输入自己的用户名密码后进行授权操作,返回sid与secret。授权成功后会
2012-08-01 15:56:50 4475 1
翻译 The C10K problem 知识点整理
The C10K problem我们的服务器很容易就能支持上万数目的,而如今硬件与带宽更不是问题,如何编写能支持大量并发服务的软件呢。下面收录别人做的一个衡量fork性能的测试,各个版本的操作系统fork子进程所消耗的时间都比较多,其中linux 2.6的性能比较好。从上面的图可以看出,假设每创建子进程消耗500微秒,那么一秒钟可以创建2000个进程,如果加上每个进程还要处理繁
2012-08-01 08:43:44 1552
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人