文档章节

Go tcp

梦想游戏人
 梦想游戏人
发布于 2017/09/09 10:19
字数 128
阅读 12
收藏 0

server

package main

import "fmt"
import "net"

func recv(conn net.Conn) {
	fmt.Println("new client:", conn.RemoteAddr().String())
	for {

		buffer := make([]byte, 2048)
		len, err := conn.Read(buffer)
		if err != nil {
			fmt.Println(" dis connected ")
			return
		}
		fmt.Println("recv:", string(buffer[0:len]))
		conn.Write([]byte("hi chrome"))
		conn.Close()
		return
	}
}
func main() {
	fmt.Println("start up")
	addr, _ := net.ResolveTCPAddr("tcp4", "127.0.0.1:80")
	var lis, err2 = net.ListenTCP("tcp", addr)
	if err2 == nil {
	}

	fmt.Println("init socket success")
	for {
		conn, err3 := lis.AcceptTCP()
		if err3 != nil {

		}
		go recv(conn)
	}
}

client

package main

import (
	"fmt"
	"io/ioutil"
	"net"
	"time"
)

func recv(conn net.Conn) {
	for {
		fmt.Println(conn.RemoteAddr().String())
		var bytes, _ = ioutil.ReadAll(conn)
		fmt.Println("recv:", string(bytes))
	}
}
func main() {
	fmt.Println("start up")
	addr, _ := net.ResolveTCPAddr("tcp4", "127.0.0.1:80")
	conn, _ := net.DialTCP("tcp4", nil, addr)

	fmt.Println("connected success")
	for {
		time.Sleep(1000000000)
		conn.Write([]byte("eeeeeeeeeeeeeeeeeeee"))
	}
}

 

© 著作权归作者所有

共有 人打赏支持
梦想游戏人
粉丝 36
博文 428
码字总数 122078
作品 0
成都
/etc/sysconfig/iptables 正常运行

# Generated by iptables-save v1.4.7 on Fri Oct 13 15:37:45 2017 *filter :INPUT DROP [210:56954] :FORWARD DROP [0:0] :OUTPUT ACCEPT [113:8354] -A INPUT -p tcp -m state --state NE......

zancun
2017/10/13
0
0
常用服务所对应端口号

echo 7/tcp echo 7/udp discard 9/tcp sink null discard 9/udp sink null systat 11/tcp users #Active users systat 11/udp users #Active users daytime 13/tcp daytime 13/udp qotd 17/t......

straymouse
2017/03/14
0
0
群晖NAS的各种端口

设置工具 类型 端口号码 协议 Synology Assistant 9999、9998、9997 UDP 备份 类型 端口号码 协议 Data Replicator、Data Replicator II、Data Replicator III 9999、9998、9997、137、138、...

poseyezi
2016/03/24
0
0
TCP封装的隧道对于拥塞控制的意义

引: 工作上,平时上网,都用到了OpenVPN,事实上我比较喜欢用TCP模式而不用UDP(直到发现了重传叠加),因为自从上学时代,我就会UDP不感冒,它除了多路复用,分解的作用外,和IP几乎一样,而...

晨曦之光
2012/04/10
454
0
第十六章 tcp_wrappers

16.1 tcp_wrappers简介 tcp wrappers:Transmission Control Protocol Wrappers为由inetd生成的服务提供了增强的安全性。TCP Wrappers是一种对使用/etc/inetd.sec的替换方法。 TCP Wrappers...

忘情OK
06/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Swagger中配置了@ApiModelProperty的allowableValues属性但不显示的问题

现在用Swagger来生成API文档的例子已经非常多了,今天碰到开发同事问了一个问题,帮着看了一下,主要还是配置方法的问题,所以记录一下。如果您也碰到了同样的问题,希望本文对您有用。 问题...

程序猿DD
24分钟前
1
0
sql 命令

show variables like '%general%'; show variables like '%log_output%'; show variables like '%quer%'; show global status like '%slow%';...

JavaSon712
32分钟前
0
0
Django修改默认数据库引擎

Django默认数据库引擎为sqlite3,除了sqlite3,还支持postgresql、mysql、oracle 配置如下:其中postgresql_psycopg2为postgresql的适配器。 'django.db.backends.postgresql' 'django.db.bac......

MichaelShu
37分钟前
0
0
动画源码解析

目录介绍 1.Animation和Animator区别 2.Animation运行原理和源码分析 2.1 基本属性介绍 2.2 如何计算动画数据 2.3 什么是动画更新函数 2.4 动画数据如何存储 2.5 Animation的调用 3.Animator...

潇湘剑雨
43分钟前
2
0
Mac OS 最强鼠标改键软件:BetterAndBetter

官网: http://www.better365.cn 话不多说,先上你们最喜欢的软件界面截图。 通用: 触摸板: 鼠标: 键盘: 情景模式: 文本跳窗(自动跳窗): 四角触发: 工具箱: 脚本: 关于: 说下我目...

故国有明
今天
19
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部