- 博客(9)
- 收藏
- 关注
原创 socket connect 连接失败也要close
实现ftp 功能,要求连不上后定时再连,结果在connect 返回失败的情况下没有close(fd),一段时间后进程打开的文件数就超过限制,程序出现问题,查到connect函数在返回失败后,依然给fd返回一个随机值,需要close,否则资源就得不到释放...
2021-11-10 10:08:35 1739
原创 localtime函数和localtime_r函数多线程安全问题
有个项目用到多线程,多线程里有记录日志功能,用到localtime获取时间,一开始用localtime_r函数来代替localtime函数,因为localtime函数返回值里有个全局的变量,而localtime_r函数有读写保护,但是在某个arm 平台下跑了一段时间发现突然时区出现混乱,在网上查到有篇文章说localtime_r函数里牵涉到时区时有个全局变量,线程也不安全,没办法只能自己重新定义写一个函数,好在网上有人贡献,参考改下,再跑一段时间,没有出现问题。...
2021-11-10 09:56:23 3877
原创 windows docker toolbox搭建 python Django mysql 开发环境
开始学习练习,遇到几个坑,记录下,供后来人参考安装过程略过volume 配置前准备遇到第一个坑就是后期使用docker-compose 时,volume都用不了,后来网上搜到https://www.cnblogs.com/atuotuo/p/6873755.html需要现在vm virtual xbox上设置共享目录第一个目录对应windows 下,第二个目录是docker-machine default里面的目录dockerfile 和docker-compose.yml参照 https
2020-12-16 16:09:25 204
原创 本地获取自己公网的ip地址
在这里插入代码片#include <stdio.h>#include <stdlib.h>#include <sys/types.h>#include <sys/socket.h>#include <netdb.h>#include <string.h>#include <netinet/in.h>struct sockaddr_in* getSockaddrByName2(char* name){
2020-09-10 16:43:24 619
原创 JavaScript 写了桥牌发牌模拟
参考网上的斗地主发牌模拟,改了成桥牌模拟` #content{background:#CCCCCC;height:200px;margin:0;}#left{width:40%;height:200px;background:#CCCC66;float:left;margin:0;}#left>p{margin-left:200px;}#c{width:20%;height:200px;background:grey;margin:0;float:le
2020-06-30 15:43:58 217
转载 5G系统——网络选择
摘要终端接入时的网络选择可以分为NAS的PLMN选择和AS的小区选择,本文主要也分为PLMN选择和小区选择两部分。1 基本概念A/Gb mode only: 仅支持A/Gb模式的GSM系统;其又可以分为三种操作模式:MS operation mode A:手机支持同时附着(Attach)在 PS 域和 CS 域,并支持并发 PS 与 CS 业务。MS operation mode B:手机支持同时附着在 PS 域和 CS 域,不支持并发 PS 与 CS 业务。MS operation m
2020-06-03 10:15:04 1517 1
原创 strncmp 使用时一点注意
使用strncmp函数来比较两个字符串前面n个字符是否相等,如果此时n=0那么返回的值也是0常有if (strncmp(t1,t2,strlen(t2)) == 0) 这样的判断语句,如果某种情况下strlen(t2)=0 那么整个判断条件返回的是true,会和实际要操作的情况不同。...
2020-04-27 11:33:27 849
原创 linux C mktime时区问题
mktime 返回1970年1月1日的秒数,和当前本地设置的时区相关日期遇到本地时区是美东时间,远端设置过来的时间是上海时间,再设置成utc时间,其中代码如下:#include <time.h>int g_timediff =8;int btsSetTime(char* msgBuf){ char szTime[32]; char szCmd[32]; ...
2020-03-02 11:00:22 4922
原创 linux 64位编译环境下生成32位的执行文件
原编译环境是Ubuntu 32位,生成的执行文件运行在32位系统环境下某天把编译环境放到虚拟机中,没注意下载Ubuntu 64位的 ,编译过程中 链接 原来 32位系统产生的lib库,报 incompatible 错误,重新在64位系统下生成新的lib库,编译通过,但是文件在32位系统下无法执行,这才意识到可能是系统版本有问题了,利用uname -a 看了下两边的系统信息,发现了区别。搜索...
2020-02-20 16:12:26 1046 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人