windows下socket编程实现client和server双向通信
服务端代码server.c // server.cpp : Defines the entry point for the console application.
//
#include <stdio.h>
#include <Winsock2.h> //Socket的函数调用
#include <windows.h>
#define BUF_SIZE 6400 // 缓冲区大小
#pragma comment (lib, "ws2_32") // 使用WINSOCK2.H时
Ubuntu下提升当前用户权限到root权限的坑与出坑方法
由于使用gedit过程中很多时候权限不足,想到将普通用户的权限提升为root权限的用户。经过问百度,有博客说通过修改"/etc/passwd"文件,提升用户权限。如博客:https://blog.csdn.net/xiaohua0877/article/details/78508764 做了后发现权限是提升了,但是也伴随着当前用户系统无法识别问题。系统出现问题。在终端中,用户名前出现:未知的用户 admin@admin-Ubuntu:~$ 您是,此时执行命令时会出现不能识别用户问题。博客:ht
数据结构与算法 —— 单向链表的逆转
1 List Reverse(List L)
2 {
3 Node *new_head, *old_head, temp;
4 new_head = NULL;
5 old_head = L;
6 while(old_head)
7 {
8 temp = old_head->next;
9 old_head->next = new_head;
10 new_head = old_head;
线程的使用经验(包括 Thread/Executor/Lock-free/阻塞/并发/锁等)
本次内容列表: 1.使用线程的经验:设置名称、响应中断、使用ThreadLocal 2.Executor:ExecutorService和Future 3.阻塞队列:put和take、offer和poll、drainTo 4.线程间的协调手段:lock、condition、wait、notify、notifyAll 5.Lock-free:atomic、concurrentMap.putlfAbsent、CopyOnWriteArrayList 6.关于锁使用的经验介绍 7.并发流程控制手段:
c/c++ allocator 使用
allocator 使用 作用:只开辟空间,不调用构造函数 操作一览表 allocator<T> a 定义一个名为a的allocator对象,它可以为类型为T的对象分配内存 a.allocate(n) 分配一段连续的为构造的内,能容纳n个类型为T的对象 a.deallocate(p, n) 释放从指针p中地址开始的内存,这块内存保存了n个类型为T的对象。p必须是以个先前有allocate返回的指针,而且n必须是创建p时所要求的大小。在调用deallocate以前,用户必须对每个在这块内存中创建
第13讲 | 深入区块链技术(五):PoS共识机制
上一篇我们讲到了PoW共识机制,这一篇我们就来分享另外一种共识机制,PoS共识机制。 PoS全称是Proof of Stake,中文翻译为权益证明。这一篇我们会将PoS与PoW对比讲解,帮助你加深理解。 PoS的由来 PoS最早出现在点点币的创始人Sunny King的白皮书中,它的目的就是为了解决使用PoW挖矿出现大量资源浪费的问题。PoS共识机制一经提出就引起了广泛关注,Sunny King 也基于PoW的基础框架实现了第一代PoS区块链:点点币。 PoW的具体实现有很多版
【Hadoop 分布式部署 五:分布式部署之分发、基本测试及监控】
1.对 hadoop 进行格式化 到 /opt/app/hadoop-2.5.0 目录下 执行命令: bin/hdfs namenode -format 执行的效果图如下 ( 下图成功 格式化 不要没事格式化 ) 2.启动dfs 执行命令(在 /opt/app/hadoop-2.5.0/目录下): sbin/start-dfs.sh 执行之后的效果就如下图 (可以看到 3个DataNode已经启动起来了,NameNode 和 seconda
1004 成绩排名 未解决的问题
1004 成绩排名 (20 分) 读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。 输入格式: 每个测试输入包含 1 个测试用例,格式为 第 1 行:正整数 n
第 2 行:第 1 个学生的姓名 学号 成绩
第 3 行:第 2 个学生的姓名 学号 成绩
... ... ...
第 n+1 行:第 n 个学生的姓名 学号 成绩 输入样例: 3
Joe Math990112 89
Mike CS991301 100
Mary EE990830 95
输出
BZOJ 1113 海报 单调栈
题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1113 题目大意: N个矩形,排成一排. 现在希望用尽量少的矩形海报Cover住它们. 思路: 直接维护一个递增的单调栈,注意如果栈顶元素和当前值相同,那么当前值不加入栈中。 1 #include<bits/stdc++.h>
2 #define IOS ios::sync_with_stdio(false);//不可再使用scanf printf
3 #define Max(
数据结构与算法___假期补课
数据结构——链表 在写数据结构代码是犯了一个非常低级的错误,就是没能在循环中和列表中index 的相对应的关系,区分我们口中的“第几个”。 千万不要尝试去排序链表 链表在寻找其中的元素时要重开始的指针开始进行。 linklist new =l->next; //新建指针new 指向链表l的第一个结点
linklist new=*l //相当于新建一个指针new 指向链表头结点。 头结点,这是一个很重要的知识点。 头结点中包含头指针 头结点放在第一个元素结点之前 头结点是为了操作的方便统一,有
linux网络编程之用socket实现简单客户端和服务端的通信(基于UDP)
单客户端和服务端的通信(基于UDP) 代码 服务端代码socket3.c #include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<unistd.h>
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#include<netdb.h>
#include<errno.h>
#define PO
设计模式--模板模式
模板设计模式定义: 定义一个操作中算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变算法的结构即可重定义该算法的某些特定步骤。 通俗点的理解就是 :完成一件事情,有固定的数个步骤,但是每个步骤根据对象的不同,而实现细节不同;就可以在父类中定义一个完成该事情的总方法,按照完成事件需要的步骤去调用其每个步骤的实现方法。每个步骤的具体实现,由子类完成。 实例说明 来举个例子: 比如我们做菜可以分为三个步骤 (1)备料 (2)具体做菜 (3)盛菜端给客人享用,这三部就是算法的骨架
ASP.NET MVC 实现伪静态
1 什么是伪静态? 现在很多门户网站或者各大电商平台的网站的链接最后都是.htm或者.htm结尾,那么他们的网页真的是静态的html吗?拿京东来说,有无数个页面都都Html,在商品每时每刻都可能被更新的情况下,那是不是要有专门的人员来修改html静态页面呢,可想而知当然不是,不管是javaweb还是asp.net的动态页面绝对不是以.html结尾的。 2 为什么要实现伪静态? 那么我们为什么要注重url的结尾呢,那就是SEO(Search Engine Optimization)--搜索引擎优
查询语句 select [单表操作]
---SQL单表简单查询 1、单表操作&别名的使用 1 --查询表的所有数据:select * from 表名;通配符*代表所有
2 select * from emp; 1 --查询表中指定字段的值:select 字段名1,字段名2,... from 表名;
2 select empno,ename,job,sal,hiredate,comm from emp; 1 --查询结果中的字段使用别名:作用[方便查看查询结果]
2 --在字段名后使用关键字 字段名 as "别名"
02-创建String对象
创建一个String对象实在是太简单了,就是因为简单,所以有很多java程序员做了好几年的开发,也没有注意这些小细节问题 String字符串的本质就是char数据对象, 那么char[0]数组当中的一个字符又可以如何表示呢? 所以我在学习java的数据类型过程一定要认真对待学习,说实话,我学 byte short int long float double char boolean 这八种类型 我是学习了一遍又一遍,不下于4-5遍的基础。在后面开发过程中不要小看了这些基础,很重要,很重要,很重
今日推荐
周排行