一个极其简单的用golang net写的tcpip echoserver
一个极其简单的用golang net写的tcpip echoserver
关键字:linux golang tcpip echoserver
虽然然效率不是很理想,但是可以给初学者参考
package main
import (
"fmt"
"net"
"os"
"runtime"
)
func doEcho(c net.Conn) {
defer c.Close()
for {
buf := make([]byte, 4096)
n, err := c.Read(buf[:])
if n == 0 || err != nil {
return
}
c.Write(buf[0:n])
}
}
func doStart(host string) {
if host == "" {
fmt.Println("Press input host name")
return
}
fmt.Println("Listening:" + host)
ln, err := net.Listen("tcp", host)
if err != nil {
fmt.Printf("Listen Error:")
return
}
defer ln.Close()
for {
c, err := ln.Accept()
if err != nil {
continue
}
doEcho(c)
}
}
func main() {
fmt.Println("CPU Num:", runtime.NumCPU())
runtime.GOMAXPROCS(runtime.NumCPU())
doStart(os.Args[1])
}
一个极其简单的用golang net写的tcpip echoserver相关推荐
- 解决UIScrollView截获touch事件的一个极其简单有效的办法
当UIScrollView将touch事件截获时,我们可以要写个UIScrollView的类别,把事件从UIScrollView传出去! @implementation UIScrollView (U ...
- 一个插件让你在 Redux 中写 promise 事半功倍
Redux 的应用给我们开发带来了很多便利,让组件间交互不再那么复杂,但 Redux 也有它的短板,我们知道要通过 Redux 改变一个 state 需要定义 actionType→action→re ...
- preparestatement方法用多次_如何用java 5分钟实现一个最简单的mysql代理服务器?
用java8基于vert.x3 快速实现一个最简单的mysql代理服务器,只需要5分钟时间. 什么是mysql 代理? mysql代理是介于client端和mysql服务端中间层服务,如下图所示: 这 ...
- mysql 最近5分钟_如何5分钟实现一个最简单的MySQL代理服务器?
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 什么是MySQL代理? MySQL代理是介于client端和MySQL服务端中间层服务,如下图所示: 为什么要使用代理? 大部人都知道使用代理的好处,毕竟 ...
- 用python做一个简单的游戏,用python写一个小游戏
大家好,本文将围绕如何用python做一个简单的小游戏展开说明,python编写的入门简单小游戏是一个很多人都想弄明白的事情,想搞清楚用python做一个简单的游戏需要先了解以下几个事情. 1.Pyt ...
- Java入门知识,写一个最简单java程序
本文目录 一.Java语言的简介 二.写一个最简单Java程序 1.Notepad配置 2.最简单的Java程序 3.代码分析 4.编译与编译常见错误 5.执行java程序 一.Java语言的简介 0 ...
- 简单的面向对象思想,写一个传奇人物的属性
简单的面向对象思想,写一个传奇人物的属性 package com.hz.game;import java.util.Random;/*** //hat,weapon,necklace,ring,clo ...
- python写一个很简单的Atm机系统,使用pickle模块和json模块来保存数据
我做的是一个很简单的Atm系统,很多都没约束条件 目的: 用面向对象思维来处理 运用文件的读写 文件的读写用pickle模块和json模块来处理 pickle模块: pickle模块处理数据功能很强大 ...
- Unity自学第一天, 新手小白进!写一个最简单的脚本让方块旋转起来
Unity自学入坑第一天 今天开始自学unity,如何让场景中的基本方块开始旋转起来,一个非常简单的小sample,作为入门,本人纯纯新手小白,之后会继续更新所有自学记录 在场景中添加一个方块,左边空 ...
最新文章
- 速计算机科学,计算机科学速成课30:万维网【视频】
- LeetCode 快乐数(Happy Number)
- 【转】Impala导出查询结果到文件
- lisp java_ai lisp java
- 对比,还原真实的GPU池化
- 双十一,不玩盖楼,直接大额降价!
- HashMap--并发下死循环(HashMap不能在多线程下使用)
- spring quartz执行两次问题
- MATLAB最新官方中文文档
- 【观察】华为:给园区安防加点“智慧”
- PE文件格式详解(0)
- Android系统sdcard目录
- Ubuntu18.04安装NVIDIA 显卡驱动(GTX 1060)
- BufferedRead
- java 解析der文件_java-如何读取也用bouncycastle在DER中编码的PK...
- 8个质量极高的资源网站,建议低调使用
- 软件定义网络(PART 3)
- 动态规划(DP)01
- 看PG10文档的笔记
- vue项目中通过百度地图API获取当前位置定位
热门文章
- F005-如是我观,知识产权 #F520
- KVM虚拟化技术的-NUMA技术和应用
- Oracle数据库查询数据语法
- CSDN(编程的开始)
- Oracle Flashback之flashback table
- Android 使用ViewPager实现基本的翻页效果
- 100.64.0.0/10 运营商级NAT(Carrier-grade NAT)共享地址空间
- 关于北大中文系应用语言学(上):更多有趣的汉语语法现象
- python使用turtle库绘制一个红色五角星_使用turtle库绘制红色五角星图形
- C# 连接数据库,查询数据