server

package main

import (
"fmt"
"net"
"os"
"time"
) func SHandleError(err error, when string) {
if err != nil{
fmt.Println("err=", err, when)
os.Exit(1)
}
} func main() {
listener, e := net.Listen("tcp", ":8080")
SHandleError(e,"net.Listen") conns := make([]net.Conn, 0) for len(conns) < 3 {
conn, e := listener.Accept()
SHandleError(e, "listener.Accept")
conns = append(conns, conn) }
fmt.Println("已接入3个客户端,即将群发消息")
time.Sleep(time.Second*1)
for _,conn:=range conns{
msg := fmt.Sprintf("hello!%v", conn.RemoteAddr())
conn.Write([]byte(msg))
} var userInput = ""
fmt.Scan(&userInput)
}

client

package main

import (
"fmt"
"net"
"os"
)
func CHandleError(err error, when string) {
if err != nil{
fmt.Println("err=", err, when)
os.Exit(1)
}
}
func main() {
conn, e := net.Dial("tcp", "127.0.0.1:8080")
CHandleError(e, "net.Dial")
defer func() {
conn.Close()
fmt.Println("客户端已退出")
}() buffer := make([]byte, 1024)
n, e := conn.Read(buffer)
CHandleError(e ,"conn.Read")
msg := buffer[:n]
fmt.Println(string(msg))
}

  

Go语言网络通信---tcp群发消息的更多相关文章

  1. Go语言网络通信---tcp上传大文件(粘包问题还需优雅解决)

    server端: package main import ( "bufio" "encoding/binary" "fmt" "n ...

  2. Go语言网络通信---TCP通信上传一个小文件

    server: package main import ( "fmt" "net" "os" ) func SHandleError(err ...

  3. 计算机网络通信TCP/IP协议浅析 网络发展简介(二)

    本文对计算机网络通信的原理进行简单的介绍 首先从网络协议分层的概念进行介绍,然后对TCP.IP协议族进行了概念讲解,然后对操作系统关于通信抽象模型进行了简单介绍,最后简单描述了socket   分层的 ...

  4. C#实现微信公众号群发消息(解决一天只能发一次的限制)

    经过几天研究网上的代码和谢灿大神的帮忙,今天终于用C#实现了微信公众号群发消息,现在整理一下. 总体思路:1.首先必须要在微信公众平台上申请一个公众号. 2.然后进行模拟登陆.(由于我对http传输原 ...

  5. .net微信公众号开发——群发消息

    作者:王先荣    本文将介绍微信公众号开发中用于群发消息的类MassMessage,包括:(1)MassMessage类:(2)群发:(3)删除:(4)预览:(5)查询发送状态:(6)接收推送群发结 ...

  6. signalr中Group 分组群发消息的简单使用

    前一段时间写了几篇关于signalr的文章 1.MVC中使用signalR入门教程 2.mvc中signalr实现一对一的聊天 3.Xamarin android中使用signalr实现即时通讯 在平 ...

  7. node实现微信扫码群发消息《附上github代码》

    本篇文章就是为大家介绍一下我是如何用node去实现扫码群发功能,源代码地址在最后面 获取登录二维码 -> 扫码登录服务端           首先介绍一下主要流程,并附上关键代码 1.获取UUI ...

  8. Python自制微信机器人:群发消息、自动接收好友

    运营公众号也有半年了,今年5月份开始的,之前一直用一款windows工具来运营自动接受好友请求.群发文章.自动回复等操作,但颇有不便. 举几个场景: 突然在外面看到一篇文章很好,临时写了一篇,想群发一 ...

  9. php 实现微信模拟登陆、获取用户列表及群发消息功能示例

    本文实例讲述了php实现微信模拟登陆.获取用户列表及群发消息功能.分享给大家供大家参考,具体如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ...

随机推荐

  1. jinja2的简单使用

    后端代码 from jinja2 import Template def index(): with open('./index.html', 'r', encoding='utf-8') as fp ...

  2. ZOJ 3781 最短路(想法好题目)

    题意:       给你一个n*m的矩阵,上面只有两种字符,X或者O,每次可以同时改变相同颜色的一个连通块,上下左右连通才算连通,用最小的步数把这个图弄成全是X或者全是O,题意要是没看懂看下面的样例. ...

  3. PAT 乙级 -- 1010 -- 一元多项式求导

    题目简述 设计函数求一元多项式的导数.(注:xn(n为整数)的一阶导数为n*xn-1.) 输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数).数字间以空格分隔. 输出 ...

  4. POJ2528线段树段更新逆序异或(广告牌)

    题意:      可以这样理解,有一条直线,然后用n条线段去覆盖,最后问全部都覆盖完之后还有多少是没有被完全覆盖的. 思路:      一开始想的有点偏,想到起点排序,然后..失败了,原因是忘记了题目 ...

  5. LA3644简单并查集判环

    题意:       有n个化合物,每个化合物是两种元素组成,现在要装车,但是一旦车上的化合物中的某几个化合物组成这样一组关系,有n个化合物正好用了n中元素,那么就会爆炸,输入的顺序是装车的顺序,对于每 ...

  6. Linux-鸟菜-6-文件搜索

    Linux-鸟菜-6-文件搜索 which(寻找[执行档]) alian ..............这个后面显示的是别名 没有找到history是因为which是根据PATH环境变阿玲去搜索执行文件 ...

  7. 前端不得不了解的TCP协议

    背景 早期的网络是基于OSI(开放式系统互联网,一般叫OSI参考模型)模型,该模型是由ISO国际标准组织制定的,包含了七层(应用层.表示层.会话层.传输层.网络层.数据链路层.物理层),即复杂又不实用 ...

  8. ElasticSearch7.10.0入门学习

    ElasticSearch完成最关键的一个功能就是 大数据搜索 官网:https://www.elastic.co/cn/elasticsearch/ 简介 Elasticsearch 是一个分布式全 ...

  9. ArrayList初步使用

    ️Practice the usage of ArrayList all of String with a exampe of NoteBook. ArrayList all of String的部分 ...

  10. MarkDown写ppt

    首先给你的VSCode安装插件 MarkDown语法 例子 --- marp: true paginate: true theme: default class: - lead - invert si ...