只要把上一篇文章“C语言 Socket入门示例1”中的两段程序彻底搞懂,那么再看本文就没有任何难度了,因为仅仅是对上篇文章中服务端代码的简单修改扩充。但是简单修改过后,功能变得异常强大,犹如一个远程CMD。随着不断深入学习,功能将会变得越来越强大。欢迎大家评论指点。
1、服务端(Server):
#include
#include
#pragma comment(lib,"...
分类:
编程语言 时间:
2014-05-10 09:56:56
阅读次数:
636
生成器和普通函数有些区别,比如生成器不用return返回,而用yield来返回一系列元素
除非“召唤”生成器的next(),否则函数体里面不会执行任何代码块,上下文环境保存着。
虽然不需要明确定义__iter__()和next()方法,但是它本身包含这个方法。
当想要结束一个协程时,使用close()方法即可,close会在协程中引发GeneratorExit异常,这时候可以通过try/ex...
分类:
编程语言 时间:
2014-05-10 09:53:34
阅读次数:
317
有这样一个需求,要求在mysql存储过程中使用到事务,而且执行的是动态的sql语句
代码如下:
BEGIN
DECLARE in_data TEXT;
/** 标记是否出错 */
DECLARE errno INT DEFAULT '0';
/** 如果出现sql异常,则将t_error设置为1后继续执行后面的操作 */
DECLARE CONTIN...
分类:
数据库 时间:
2014-05-10 09:50:37
阅读次数:
541
题目链接:hdu 4722 Good Numbers
题目大意:给出a,b,问从a到b之间,有多少个好数字,好数字的定义为:每个位的数字相加是10的倍数。
解题思路:dp[i][j]表示第i位,前i-1位的和为j(j可以从200简化成10,以为只需要考虑最后的数是否是10的倍数即可)有多少个数,需要注意的就是恰好为b的情况,所以要有一个跟踪值s。
#include
...
分类:
其他好文 时间:
2014-05-10 09:46:45
阅读次数:
232
public static void main(String[] args) {
String a=null;
if("aa".equals(a))//这种情形,不出现空指针异常
//if(a.equals("aa"))//出现空指针异常
{
System.out.println(true);
}
else {
System.out.println(false);
}
}
...
分类:
其他好文 时间:
2014-05-10 09:20:33
阅读次数:
257
scp用于通过网络实现主机之间的文件复制。它使用ssh来进行文件传输,并且和ssh一样使用同样的认证和提供同样的安全性。...
分类:
系统相关 时间:
2014-05-10 08:52:27
阅读次数:
423
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3549
过山车
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 9322 Accepted Submission(s): ...
分类:
其他好文 时间:
2014-05-10 08:49:54
阅读次数:
295
在Linux中做C/C++开发经常会遇到一些不可预知的问题导致程序崩溃,同时崩溃后也没留下任何代码运行痕迹,因此,堆栈跟踪技术就显得非要重要了。本文将简单介绍Linux中C/C++程序运行时堆栈获取函数及方法,简单实用。...
分类:
系统相关 时间:
2014-05-10 02:18:28
阅读次数:
493
通常情况下,每次使用ssh登录或使用scp复制远程系统的文件时,都需要提供密码,然后才能做进一步的处理。为了省略输入密码这一步骤,有时可以采用Shell脚本的方法解决,但这需要把手工输入的密码以明码形式放在脚本文件中。
利用密钥配置文件,OpenSSH可以是ssh远程登录与scp文件复制的操作过程中省略密码验证的中间环节。...
分类:
其他好文 时间:
2014-05-07 08:57:54
阅读次数:
388
当直接从Live CD镜像(例如从U盘)启动Ubuntu系统时,如果想要安装sshd服务,那么需要安装openssh-server软件包,如果用apt-get install的方式安装不了就换用aptitude安装,安装成功后却发现启动不了ssh服务,如下所示:...
分类:
其他好文 时间:
2014-05-07 07:02:43
阅读次数:
306