stpeace的专栏

提升认知 顺势而为

排序:
默认
按更新时间
按访问量

go之net.LookupHost

        看代码: package main import ( "fmt" "net" ) func parseDns(strDns string) { ns, err := net.Lo...

2018-10-13 08:21:41

阅读数:158

评论数:0

go rpc实例------1. 基于tcp/gob. 2. 基于http/gob. 3. tcp/jsonrpc

      前面玩过grpc, 要安装grpc库,要安装protobuf库等,好多库啊 。通信协议是tcp, 采用protobuf序列化。       下面来看看go原生的rpc(不需要安装一些杂七杂八的库): 1. 基于tcp/gob. 2. 基于http/gob. 3. tcp/jsonrp...

2018-10-02 11:26:38

阅读数:142

评论数:2

go tcp编程实例

       祝国庆快乐。                因为要用到go tcp, 所以来玩一下。C/C++的网络编程,太熟悉了, 不说。        sever.go代码: package main import ( "net" ...

2018-10-01 23:48:25

阅读数:140

评论数:0

ZeroMQ“发布/订阅”模型的C++代码

     ZeroMQ环境的搭建就不说了,之前已经说过。      来看ZeroMQ的“发布/订阅”模型的C++代码:      pub.cpp代码为: #include <stdio.h> #include <stdlib...

2018-09-30 21:58:39

阅读数:134

评论数:0

linux下搭建ZeroMQ的C++环境------顺便看下ZeroMQ“请求/应答”模型的代码

       直接上菜:          1.  下载并解压: cd /home/ubuntu/taoge/zmq 下载地址:http://download.zeromq.org/ tar -xvf zeromq-4.1.2.tar.gz        2.  编译并安装 cd z...

2018-09-30 21:44:37

阅读数:139

评论数:0

又是 error while loading shared libraries

        难得再搞下C++, 看看: ubuntu@VM-0-15-ubuntu:~/taoge/zmq/test$ ./s ./s: error while loading shared libraries: libzmq.so.5: cannot open shared object...

2018-09-30 21:28:22

阅读数:121

评论数:0

在go中玩下gRPC

        gRPC很常见, 也很常用, 来玩下。         先安装该安装的, 比如protoc, protoc-gen-go, grpc, 该设置的环境变量设置一下,这些很简单, 不必多说。           写协议文件data.proto: syntax = &q...

2018-09-22 12:09:39

阅读数:171

评论数:0

来玩下go的http get

       如果写代码的时候, 需要经常去查语法,那说明对语言还不够熟练。来玩下go http get,  主要是练练手: package main import( "fmt" "net/http" ...

2018-08-18 16:13:46

阅读数:612

评论数:0

很多人居然以为select/poll/epoll是用来实现后台服务并发的?

     网上资料,很多都是以讹传讹,到处复制粘贴,不可尽信。 我们需要有自己的判断。          来说说后台服务模型:      1.  迭代服务器        简单说,就是在while中循环accept, 然后处理。显然, 这种服务是没有并发功能的, 后一个请求必须等前一个请求...

2018-07-07 15:02:26

阅读数:2264

评论数:2

吃饭前写个linux select/poll/epoll代码示例玩玩

      等朋友吃饭,还有1个小时, 写个select, poll, epoll程序玩玩:include <stdio.h> #include <unistd.h> #include <...

2018-03-31 16:14:21

阅读数:2852

评论数:2

最近实际用了一下recvfrom和sendto,感觉不错

       有个需要快速搞起的需求, 选用udp, 实际用了一下recvfrom和sendto,  不用担心粘包, 感觉不错, 顺便看看原型:ssize_t sendto(int sockfd, const void *buf, size_t len, int flags, ...

2018-03-09 20:55:47

阅读数:2729

评论数:0

测试udp的丢包和乱序

      udp服务端代码:#include <stdio.h> #include <stdlib.h> #include <string.h> #include ...

2018-03-09 20:54:46

阅读数:3331

评论数:0

udp服务雪崩测试与分析

       我们知道, udp socket的接收缓冲区大小是有限的, 可以查到最大值。 以server端为例, 如果server端socket接收缓冲区满了, 那么client端新进的请求不会得到及时处理, 出现丢包。 即使server端的socket的接收缓冲区没有满, 但仍有一些请求在其中...

2018-03-09 20:51:39

阅读数:2734

评论数:0

带超时时间的sendto和recvfrom(用SO_SNDTIMEO和SO_RCVTIMEO搞起)

       在udp中, 可以用SO_SNDTIMEO和SO_RCVTIMEO来实现发送、接收的超时设置, 下面以SO_RCVTIMEO为例来看看:#include <stdio.h> #include <stdlib.h&...

2018-03-07 22:24:50

阅读数:2943

评论数:0

为什么执行ping命令时不需要root权限? 怎样让进程具有root权限?

     最近遇到一个问题, 需要让普通用户执行程序时具有root权限, 怎么办呢?     我们来看看ping, 它采用了raw socket, 需要root权限, 但是, 我们平常执行root命令的时候, 没有加sudo啊, 来探个究竟:ubuntu@VM-0-15-ubuntu:~/taog...

2018-03-02 23:09:33

阅读数:2875

评论数:0

用raw socket接收udp数据的C/C++代码实战

       最近要用到raw socket, 来看下。server.cpp:#include <stdio.h> #include <string.h> #include <unistd...

2018-03-02 23:05:59

阅读数:2794

评论数:0

tcp 80和443端口探测代码

以前写过, 最近要用, 来整合一下, 方便后续用: #include #include #include #include #include #include #include #include #include #include #include #include #i...

2018-01-30 12:03:26

阅读数:4711

评论数:0

TCP全连接队列和半连接队列已满之后的连接建立过程抓包分析

转载地址:https://www.cnblogs.com/menghuanbiao/p/5212131.html 最近项目需要做单机100万长连接与高并发的服务器,我们开发完服务器以后,通过自己搭的高速压测框架压测服务端的时候,发生了奇怪的现象,就是服务端莫名其妙的少接收了连接,...

2018-01-29 21:36:21

阅读数:4443

评论数:0

浅谈UDP(数据包长度,收包能力,丢包及进程结构选择)------很好

转载地址:https://www.cnblogs.com/linuxbug/p/4906000.html UDP数据包长度 UDP数据包的理论长度 udp数据包的理论长度是多少,合适的udp数据包应该是多少呢?从TCP-IP详解卷一第11章的udp数据包的包头可以看出,udp...

2018-01-29 21:32:42

阅读数:4624

评论数:0

带超时时间的telnet该怎么玩?------检测tcp是否可连接时经常用到(本文仅给出linux版本,之前博客也有Windows版本的)

前面说过, 利用ping命令探测网络是否可通, 但很多时候, 服务端或者防火墙禁止了ping命令, 也就是说, ping不通, 不表示网络不通, 所以仍有可能能建立tcp连接。怎么检测tcp连接是否可通呢? 用telnet命令就可以搞起, 但问题是, 很多时候(尤其是批量探测的时候), 我们需要给...

2017-12-18 19:52:37

阅读数:5916

评论数:0

提示
确定要删除当前文章?
取消 删除