文档章节

Go tcp

梦想游戏人
 梦想游戏人
发布于 2017/09/09 10:19
字数 128
阅读 12
收藏 0
点赞 0
评论 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"))
	}
}

 

© 著作权归作者所有

共有 人打赏支持
梦想游戏人
粉丝 34
博文 402
码字总数 115594
作品 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

常用服务所对应端口号

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

群晖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

TCP封装的隧道对于拥塞控制的意义

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

晨曦之光 ⋅ 2012/04/10 ⋅ 0

TCP异常终止(reset报文)

TCP异常终止(reset报文) TCP的异常终止是相对于正常释放TCP连接的过程而言的,我们都知道,TCP连接的建立是通过三次握手完成的,而TCP正常释放连接是通过四次挥手来完成,但是有些情况下,...

JAVA枪手 ⋅ 2016/01/21 ⋅ 0

TCP/IP学习(9)-TCP协议概述

TCP和UDP处在同一层--运输层,但是TCP和UDP最不同的地方是,TCP提供了一种可靠的数据传输服务,TCP是面向连接的,也就是说,利用TCP通信的两台主机首先要经历一个“拨打电话”的过程,等到通...

qq_32998153 ⋅ 03/15 ⋅ 0

Linux内核Socket参数调优

可调优的内核变量存在两种主要接口:sysctl命令和/proc文件系统,proc中与进程无关的所有信息都被移植到sysfs中。IPV4协议栈的sysctl参数主要是sysctl.net.core、sysctl.net.ipv4,对应的/pr...

China_OS ⋅ 2013/03/21 ⋅ 0

Linux防火墙开放端口

vi /etc/sysconfig/iptables :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :RH-Firewall-1-INPUT - [0:0] -A INPUT -j RH-Firewall-1-INPUT -A FORWARD -j RH-Firewall-......

子麒 ⋅ 2012/02/15 ⋅ 0

TCP状态切换流程

TCP状态切换流程 enum {/* Description of States: * TCPSYNSENT sent a connection request, waiting for ack * TCPSYNRECV received a connection request, sent ack, waiting for final ......

MtrS ⋅ 2016/12/19 ⋅ 0

/etc/sysctl.conf推荐配置

推荐配置(把原/etc/sysctl.conf内容清掉,把下面内容复制进去): net.ipv4.iplocalportrange = 1024 65536 net.core.rmemmax=16777216 net.core.wmemmax=16777216 net.ipv4.tcprmem=4096 8......

miffa ⋅ 2015/03/27 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Thrift RPC实战(二) Thrift 网络服务模型

TServer类层次体系 TSimpleServer/TThreadPoolServer是阻塞服务模型 TNonblockingServer/THsHaServer/TThreadedSelectotServer是非阻塞服务模型(NIO) 1 TServer抽象类的定义 内部静态类Args的...

lemonLove ⋅ 12分钟前 ⋅ 0

vim命令用法

第五章 vim命令 vim和vi几乎是一样的,唯一的区别就是当编辑一个文本时,使用vi不会显示颜色,而使用vim会显示颜色。 vim有三个模式:一般模式,编辑模式,命令模式。 系统最小化安装时没有安...

弓正 ⋅ 14分钟前 ⋅ 0

MyBatis源码解读之配置

1. 目的 本文主要介绍MyBatis配置文件解析,通过源码解读mybatis-config.xml(官方默认命名)、Mapper.xml 与Java对象的映射。 2. MyBatis结构 查看大图 MyBatis结构图,原图实在太模糊了,所以...

无忌 ⋅ 17分钟前 ⋅ 0

Ignite的jdbc与网格的连接方式的查询性能对比

环境: 数据量100万 Ignite2.5 Windows10 8g jdbc方式连接 import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; i......

仔仔1993 ⋅ 32分钟前 ⋅ 0

收集自网络的wordpress 分页导航的代码教程(全网最全版)

wordpress 分页导航是用来切换文章的一个功能,添加了 wordpress 分页导航后,用户即可自由到达指定的页面数浏览分类文章,而这样的一个很简单功能却有很多朋友在用插件:WP-PageNavi,插件的...

Rhymo-Wu ⋅ 48分钟前 ⋅ 0

微服务 WildFly Swarm 入门

Hello World 就像前面章节中的其他框架一样,我们希望添加一些基本的 Hello-world 功能,然后在其上逐步添加更多的功能。让我们从在我们的项目中创建一个 HolaResources 开始。您可以使用您的...

woshixin ⋅ 55分钟前 ⋅ 0

Maven的安装和Eclipse的配置

1. 下载Maven 下载地址 2. 解压压缩包,放到自己习惯的硬盘中 此处我将其放到了 D:\Tools 目录下。 3. 配置环境变量 右键此电脑 -> 属性 -> 高级系统设置 -> 环境变量。 在系统变量中新建,变...

影狼 ⋅ 今天 ⋅ 0

python pip使用国内镜像的方法

国内源 清华:https://pypi.tuna.tsinghua.edu.cn/simple 阿里云:http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/ 华中理工大学:http://......

良言 ⋅ 今天 ⋅ 0

对于url变化的spa应该如何使用微信jssdk

使用vue单页面碰上微信jssdk config验证失败的坑。第一次成功 之后切换页面全部失败,找到了解决方法,第一次验证成功后保存验证信息 切换页面时验证信息直接拿来用,加一个wx.error() 失败时...

孙冠峰 ⋅ 今天 ⋅ 0

Spring Cloud Gateway 一般集成

SCF发布,带来很多新东西,不过少了点教程,打开方式又和以前的不一样,比如这个SCG,压根就没有入门指导,所以这里写一个,以备后用。 一、集成 pom.xml <dependency> <groupI...

kut ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部