Golang的socket编程(三):并发Server-Client

马谦马谦马谦 Golang评论5941字数 316阅读1分3秒阅读模式

一、概述

上一篇实现了一个server和client通信,完成了小写转大写的功能,但是是一个单任务式的响应:客户端发送连接接收响应,程序结束;服务端则接收数据响应数据也结束!就实际需要而言,并没有很大的用处,所以现在我们就给客户端和服务端添加上并发功能。

逻辑其实很简单,就是利用golang的gorutine,一旦来新的连接,就开启一个gorutine去处理,然后响应,直到客户端关闭连接。

二、服务端

三、客户端

四、运行

此时,我们开启一个服务端,开启两个客户端进行测试:

Golang的socket编程(三):并发Server-Client-图片1

Golang的socket编程(三):并发Server-Client-图片2

Golang的socket编程(三):并发Server-Client-图片3

至此,一个完美的多并发服务端就完成了!

 最后更新:2017-11-18
马谦马谦马谦
  • 本文由 马谦马谦马谦 发表于 2017年9月13日20:44:11
  • 转载请务必保留本文链接:https://www.dyxmq.cn/program/code/golang/golang-socke-3.html
解决gvm工具无法下载安装包的问题 Golang

解决gvm工具无法下载安装包的问题

GVM(Go Version Manager)是一款用于管理和切换不同Go语言版本的工具。它允许用户在同一台计算机上轻松安装、使用和管理多个Go版本,同时还能确保项目之间的依赖关系井然有序。GVM的主...
国内几个优质的Go Module代理仓库服务 Golang

国内几个优质的Go Module代理仓库服务

一、简介 go module公共代理仓库,代理并缓存go模块。你可以利用该代理来避免DNS污染导致的模块拉取缓慢或失败的问题,加速你的构建。 简单来说就是国内访问被墙,go get无法在线获取到仓库,...
socket多路IO复用之select模型 C/C++

socket多路IO复用之select模型

select模型是socket中的一种多路IO复用模型之一,通过轮询的方式来完成多路访问控制。 一个很简单的例子来描述select模型: 幼儿园老师要照顾所有的小朋友,每天他都会轮流去问小朋友:“小朋...
TCP协议中的三次握手和四次挥手 TCP/IP

TCP协议中的三次握手和四次挥手

一、三次握手 TCP协议的三次握手和四次挥手分别表示了TCP连接的建立和释放过程,在整个TCP协议是一个很重要的内容,同时也是面试时的常见考点。 趁着找工作的劲,使用socket+tcpdump分析了...
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定

拖动滑块以完成验证