- 博客(17)
- 收藏
- 关注
原创 linux root用户无法telnet登录
linux root用户无法telnet登录正常情况下,linux设备是不建议使用root用户进行远程登录的。因为这不方便系统维护。当你真正需要root权限的时候可以使用su root命令切换至root,因为这样操作一旦出了问题是可以追溯到某个人的。但如果大家都用root登录那就很难追溯了。抛开这些不谈,在使用telnet进行远程登录的时候相信好多朋友也遇见了和我一样的问题。操作过...
2018-08-09 17:38:34
13248
原创 C语言 数组中某些元素的和为某一定值 找出所有组合
C语言 数组中某些元素的和为某一定值 找出所有组合题目:给出如下集合 {19061, 142852, 859322, 122058, 10424, 2274, 2274, 527099, 5723, 6408, 8652, 8652, 50435, 245580, 921051, 734785, 1614292, 617546, 4169671, 125437} 其中某些元素的和6023925...
2018-08-09 15:12:31
3805
2
原创 windwos 端口转发、端口映射
windwos 端口转发、端口映射端口映射、转发的应用场景一般在于将两个不可以直接建立连接的设备,通过一个中间媒介建立一个类似于直接连接的间接连接。 举个例子,A和B是两个不同局域网内的设备,A和B之间不互通,但C既在A所在的局域网内也在B所在的局域网内(可能是C有两个网卡分别接在两个局域网内,也可能是C拨了vpn…),此时就可以在C上建立一个端口映射,将本机端口的xxx1端口映射到A设备的...
2018-08-09 14:38:14
2064
原创 C语言 互斥锁 (跨平台 Windows+linux)pthread实现
互斥锁的主要目的是防止多个线程同时访问同一资源。为什么不允许多线程同时访问同一资源呢。首先我们要对程序在运算的过程。假如计程序要对一个变量执行自加运算,那么过程是:首先程序到这个变量的内存中拷贝走变量值,然后交给cpu,cpu计算后将计算结果返回,然后重新保存在原来的位置,从而实现了这个变量的自加运算。打个比方,有一个变量“tmp”,它当前的值为5,两个线程几乎同时要访问这个变量。线程a想执行tm
2018-01-16 22:49:08
7645
原创 Windows C语言 UDP编程 server端(服务器、客户端)--初级(简单版)
UDP协议全称是用户数据报协议[1] ,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。在OSI模型中,在第四层——传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。UDP用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使
2018-01-16 22:16:06
3856
2
原创 Windows C语言 Socket编程 server端(服务器)--初级(多客户端——初级版)
看过我的简单版的服务器代码的,会发现那段代码同一时间只能和一个客户端通信。这样的代码能力很小局限性很大。今天我来介绍一种多客户端的服务器代码。当然这段代码还是有问题的,至于是什么问题我会在代码后面说清楚。我的这个多客户端的代码核心思想是多线程。在基本的服务器的代码中简单加一些内容就可以了。在accept的后面,我们每接到一个客户端的连接请求,就会为这个客户端创建一个单独的线程,主线程继续循环监
2018-01-15 22:47:43
5500
2
原创 C语言的那些坑(C Primer Plus第六版 17.2程序释放链表bug)
C Primer Plus是一本很好的C语言书,里面的代码丰富详细,对初学者的晋升有很大帮助,但问题在于代码也都是人编写的,出现bug也是很正常的。善于发现bug也是一种能力。话不多说 实锤 下面是书中的源代码#include <stdio.h>#include <stdlib.h> /* has the malloc prototype */#include <strin
2017-11-30 10:25:14
1340
3
原创 C语言的那些坑(函数返回局部变量)
第二个坑 函数返回局部变量问题函数是可以返回局部变量的,比如看下面代码就是对的int fun(){ int a = 9; return a;}int main (){ printf("%d", fun()); return 0;}程序的运行过程是依照栈的规则,函数开始调用就是压栈,函数调用结束就是弹栈。函数弹栈之后该函数占用的栈内存自然就被释放掉了(重点是……
2017-11-29 10:54:51
2163
原创 C语言的那些坑(数组做参数计算大小问题)
零一匠 C语言的那些坑 之 第一个坑(数组做函数参数问题)看下面一对代码int hole(int numarray[]){ int len = sizeof(numarray) / sizeof(int); printf("hole函数计算的数组长度是%d\n", len);}int main(){ int len = 0; int array[11] = {0
2017-11-28 17:20:23
2073
原创 Windows C语言 Socket编程 client端(客户端)--断线重连版
了解了最基础的C语言客户端的编写流程,稍稍加以改动即可实现断线重连。 当服务器掉线时,客户端会以固定的频率不停的重连。
2017-11-04 17:21:36
6821
1
原创 Windows C语言 Socket编程 client端(客户端)--初级(简单版)
下面这段代码实现了最基本的client代码,只适用于初学者研究最基本的socket客户端的基本流程。 与本章配套的还有另外一篇文章“Windows C语言 Socket编程 server端(服务器)–初级(简单版)”
2017-11-04 16:49:34
6736
原创 Windows C语言 Socket编程 server端(服务器)--初级(简单版)
下面这段代码实现了最基本的server代码,值适用于初学者研究最基本的socket服务端的基本流程。实现了最基本的数据收发。由于是单线程的程序,所以实际功能具有一定的局限性。同一时间只能对一个客户端进行通信。若想实现多客户端连接需要引入多线程的概念。与本章配套的还有另外一篇文章“Windows C语言 Socket编程 client端(客户端)--初级(简单版)”
2017-11-04 15:45:11
4987
原创 tcp粘包问题
**什么是粘包问题:**粘包问题的起因是socket的缓存机制。简而言之 粘包问题就是如何处理残包情况。再通俗一点就是,我需要一帧完整的数据有1024。我却只得到了512。处理办法也很简单——“等”。等它发来下一包数据,不管他发来多少数据,先拿来512,接到上次那512后面。凑成完整的数据帧。当然也有可能你发现这次来的数据不够512,那就有多少拿多少,先接到那帧数据的后面,然后再等,什么时
2017-06-12 17:20:16
572
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人