​go socket 实现聊天室功能​2.0(增加人员验证、监听信息、广播等功能)

在原Go语言socket聊天室基础上,增加了客户端接入验证、服务器监听及信息广播功能。通过服务端控制客户端接入,调整了代码结构,包括handleMsg和handleClient方法,提升了聊天室的安全性和交互体验。
摘要由CSDN通过智能技术生成

前段时间用go写了一个简单的聊天室,后来考虑到任何人都可以随意加入聊天室这个问题,我就加上了一个服务端控制客户接入的功能,调整了服务端的代码。

原文章:go socket 实现聊天室功能

相比原聊天室,调整了一下几个方面:

①增加了获取客户端验证信息,控制是否允许接入聊天室。

②增加服务器监听客户端聊天记录、广播信息。

③抽取了控制管道信息输出的handleMsg方法和控制客户端输入的handleClient方法。

package main

import (
	"bufio"
	"fmt"
	"log"
	"net"
	"os"
	"strings"
	"time"
)

//创建结构体存储用户名称、信息和时间
type chatMsg struct {
	name string
	msg  string
	t    string
}

var (
	msg      = make(chan string)  //用于新用户加入时广播信息
	chatMsgs = make(chan chatMsg) //发送聊天信息
	exit     = make(chan chatMsg) //离开信息
	login    = make(chan string)
	clients  = make(map[string]net.Conn) //定义一个map,使用用户名作为key,value该用户的链接
	logins   = make(map[string]net.Conn) //定义一个map,使用
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值