TypeCodes

Linux TCP连接Connection Refused和Connection timed out的问题

前段时间和其它系统做联调测试,对方系统采用的是负载均衡模式。调试时采用的是多台手机作为客户端发送到对方负载均衡服务器,然后再把报文转发送到我这边的服务端。在测试的时候,对方测试人员说有的手机客户端会偶尔出现报文发不过来的情况。

故事有点长,先发一张tcp三次握手的过程图镇楼~

Linux tcp三次握手

- 阅读剩余部分 -

升级博客文章同步微博的插件:PHP正则提取Markdown的图片地址

作为一个微博控,为了把博客的文章同步到新浪微博上,BZ在新浪微博开放平台申请了一个应用。然后在自己的CentOS服务器上,利用官方PHP SDK搭了个服务端应用。这样通过博客插件作为请求客户端,调用相关API接口把文章同步到微博上。微博发布后,会显示来源,也即应用名称(如下图BZ的是TypeCodes)。

博客文章同步到新浪微博的效果

- 阅读剩余部分 -

解决make编译链接动态库错误:libxx.so: undefined reference to xx

最近在写一个Makefile,调试时遇到了libsrcpbl.so: undefined reference to gcProgramName的问题。在这个Makefile脚本里面,终极目标是通过链接一个自定义的动态库libsrcpbl.so生成一个ELF目标文件。

由于链接生成libsrcpbl.so动态库的.o文件比较多,无法定位具体的错误程序文件和位置,所以折腾了较长时间。

- 阅读剩余部分 -

Unix系统中nm命令展示目标文件符号的方法

在unix系统中,通过gnu开源gcc或者g++工具生成的目标文件(object file),可以用nmobjdumpreadelf这三个命令来查看。

nm:显示目标文件中的符号;
objdump:打印目标文件中的详细信息;
readelf:显示关于 ELF 目标文件的信息。

之前在调试makefile文件的时候,链接动态库出错:libsrcpbl.so: undefined reference to 'gcProgramName'。也就是变量gcProgramName没定义,后来通过nm -u libsrcpbl.so命令辅助排查解决了。

- 阅读剩余部分 -