一个极其简单的用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相关推荐

  1. 解决UIScrollView截获touch事件的一个极其简单有效的办法

    当UIScrollView将touch事件截获时,我们可以要写个UIScrollView的类别,把事件从UIScrollView传出去! @implementation UIScrollView (U ...

  2. 一个插件让你在 Redux 中写 promise 事半功倍

    Redux 的应用给我们开发带来了很多便利,让组件间交互不再那么复杂,但 Redux 也有它的短板,我们知道要通过 Redux 改变一个 state 需要定义 actionType→action→re ...

  3. preparestatement方法用多次_如何用java 5分钟实现一个最简单的mysql代理服务器?

    用java8基于vert.x3 快速实现一个最简单的mysql代理服务器,只需要5分钟时间. 什么是mysql 代理? mysql代理是介于client端和mysql服务端中间层服务,如下图所示: 这 ...

  4. mysql 最近5分钟_如何5分钟实现一个最简单的MySQL代理服务器?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 什么是MySQL代理? MySQL代理是介于client端和MySQL服务端中间层服务,如下图所示: 为什么要使用代理? 大部人都知道使用代理的好处,毕竟 ...

  5. 用python做一个简单的游戏,用python写一个小游戏

    大家好,本文将围绕如何用python做一个简单的小游戏展开说明,python编写的入门简单小游戏是一个很多人都想弄明白的事情,想搞清楚用python做一个简单的游戏需要先了解以下几个事情. 1.Pyt ...

  6. Java入门知识,写一个最简单java程序

    本文目录 一.Java语言的简介 二.写一个最简单Java程序 1.Notepad配置 2.最简单的Java程序 3.代码分析 4.编译与编译常见错误 5.执行java程序 一.Java语言的简介 0 ...

  7. 简单的面向对象思想,写一个传奇人物的属性

    简单的面向对象思想,写一个传奇人物的属性 package com.hz.game;import java.util.Random;/*** //hat,weapon,necklace,ring,clo ...

  8. python写一个很简单的Atm机系统,使用pickle模块和json模块来保存数据

    我做的是一个很简单的Atm系统,很多都没约束条件 目的: 用面向对象思维来处理 运用文件的读写 文件的读写用pickle模块和json模块来处理 pickle模块: pickle模块处理数据功能很强大 ...

  9. Unity自学第一天, 新手小白进!写一个最简单的脚本让方块旋转起来

    Unity自学入坑第一天 今天开始自学unity,如何让场景中的基本方块开始旋转起来,一个非常简单的小sample,作为入门,本人纯纯新手小白,之后会继续更新所有自学记录 在场景中添加一个方块,左边空 ...

最新文章

  1. 速计算机科学,计算机科学速成课30:万维网【视频】
  2. LeetCode 快乐数(Happy Number)
  3. 【转】Impala导出查询结果到文件
  4. lisp java_ai lisp java
  5. 对比,还原真实的GPU池化
  6. 双十一,不玩盖楼,直接大额降价!
  7. HashMap--并发下死循环(HashMap不能在多线程下使用)
  8. spring quartz执行两次问题
  9. MATLAB最新官方中文文档
  10. 【观察】华为:给园区安防加点“智慧”
  11. PE文件格式详解(0)
  12. Android系统sdcard目录
  13. Ubuntu18.04安装NVIDIA 显卡驱动(GTX 1060)
  14. BufferedRead
  15. java 解析der文件_java-如何读取也用bouncycastle在DER中编码的PK...
  16. 8个质量极高的资源网站,建议低调使用
  17. 软件定义网络(PART 3)
  18. 动态规划(DP)01
  19. 看PG10文档的笔记
  20. vue项目中通过百度地图API获取当前位置定位

热门文章

  1. F005-如是我观,知识产权 #F520
  2. KVM虚拟化技术的-NUMA技术和应用
  3. Oracle数据库查询数据语法
  4. CSDN(编程的开始)
  5. Oracle Flashback之flashback table
  6. Android 使用ViewPager实现基本的翻页效果
  7. 100.64.0.0/10 运营商级NAT(Carrier-grade NAT)共享地址空间
  8. 关于北大中文系应用语言学(上):更多有趣的汉语语法现象
  9. python使用turtle库绘制一个红色五角星_使用turtle库绘制红色五角星图形
  10. C# 连接数据库,查询数据