1. 交换两个数值
x, y = y, x; //等价于 x = y, y =x;
2. 变量初始化问题
a, b, c = 0;
print(a,b,c); --> 0 nil nil
仅对第一个值复制,所以要初始化一组变量,应该提供多个初始值
a, b, c = 0, 0, 0;
print(a, b, c); --> 0 0 0
3. "尽可能...
分类:
其他好文 时间:
2014-05-10 10:17:39
阅读次数:
272
只要把上一篇文章“C语言 Socket入门示例1”中的两段程序彻底搞懂,那么再看本文就没有任何难度了,因为仅仅是对上篇文章中服务端代码的简单修改扩充。但是简单修改过后,功能变得异常强大,犹如一个远程CMD。随着不断深入学习,功能将会变得越来越强大。欢迎大家评论指点。
1、服务端(Server):
#include
#include
#pragma comment(lib,"...
分类:
编程语言 时间:
2014-05-10 09:56:56
阅读次数:
636
如果对Windows API不太熟悉、对TCP/IP通信协议不太熟悉,或者对C语言本身不太熟悉的话,学习Socket会有点难受的。以前学习操作系统的时候,被API吓怕了,很多莫名其妙的API有着多如牛毛的参数,令人费解。学习计算机网络的时候,又有那么多的协议,并且很多协议本身比较复杂,什么三次握手建立连接,什么四次握手释放链接等等,也没有学得特别透彻。更遗憾的是,以前学C的时候,误以为自己把C学会...
分类:
编程语言 时间:
2014-05-10 09:52:05
阅读次数:
442
目前cocos2dx + lua的方式可以动态更新所有的脚本文件,但是却无法动态更新cpp部分的代码(这部分东西一般我们称之为底包),事实上采用同样的方案在android下也是可以实现动态更新的,只需要将java代码里加载libgame.so的代码稍微做些修改即可
static {
System.loadLibrary("game");
}
...
分类:
移动开发 时间:
2014-05-10 09:22:31
阅读次数:
531
1. 函数可以返回多个值 return a, b, c; 但是如果函数不是作为表达式的最后一个元素的话,仅返回第一个
如:
function f2() return "a", "b" end;
x, y = f2() -> x = "a", y = "b";
x, y = f2(), 1 -> x = "a", y = nil;
2. 可以将一个函数调用放入一对圆括...
分类:
其他好文 时间:
2014-05-10 09:21:56
阅读次数:
317
1、函数是一种 “第一类值”
a = {p = print};
a.p("hello");
a = print;
a("Hi");
2、 table 提供的函数 table.sort
network = {
{name = "lua", IP = "192.168.1.1"},
{name = "CPP", IP = "192.168.1.2"}
};
f...
分类:
其他好文 时间:
2014-05-10 09:21:02
阅读次数:
273
感性认识: 传统的socket IO中,需要为每个连接创建一个线程,当并发的连接数量非常巨大时,线程所占用的栈内存和CPU线程切换的开销将非常巨大。使用NIO,不再需要为每个线程创建单独的线程,可以用一个含有限数量线程的线程池,甚至一个线程来为任意数量的连接服务。由于线程数量小于连接数量,所以每个线程进行IO操作时就不能阻塞,如果阻塞的话,有些连接就得不到处理,NIO提供了这种非阻塞的能力。 小...
分类:
其他好文 时间:
2014-05-10 08:50:29
阅读次数:
365
一个简单的迭代器示例
--迭代工厂函数
function value(t)
local i = 0;
return
function()
i = i+1;
return t[i];
end;
end;
t = {10,20,30};
iter = va...
分类:
其他好文 时间:
2014-05-10 08:36:53
阅读次数:
268
Windows Socket编程与服务器客户端示例
Winsock是 Windows下套接字标准。
Socket套接字基于计算机网络,提供同一系统上不同进程或由局域网连接在一起的不同机器上的进程间通讯功能。如下图:
套接字通过IP地址,Port端口号标识,通过这个标识可以在整个局域网定位一个套接字,通过套接字进程便可以相互传输数据。如:进程...
刚开始使用lua,还有点不熟悉class 是网上常见的实现Test =
class("Test")function Test:ctor() self.vark = 0endfunction Test:isTest()
self.vark = 0end如果调用self.isTest() 报错 se.....
分类:
其他好文 时间:
2014-05-06 10:26:09
阅读次数:
236