`
DarkWingBoy
  • 浏览: 50694 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

golang socket 测试

 
阅读更多

用golang不用他的net包还有什么意义,又一个测试代码.

server.go 服务端

package main
      
import (
    "fmt"
    "log"
    "net"
    "bufio"
)
      
func handleConnection(conn net.Conn) {
    data, err := bufio.NewReader(conn).ReadString('\n')
    if err != nil {
        log.Fatal("get client data error: ", err)
    }
      
    fmt.Printf("%#v\n", data)
      
    fmt.Fprintf(conn, "hello client\n")
    conn.Close()
}
      
func main() {
    ln, err := net.Listen("tcp", ":6010")
    if err != nil {
        panic(err)
    }
      
    for {
        conn, err := ln.Accept()
        if err != nil {
            log.Fatal("get client connection error: ", err)
        }
      
        go handleConnection(conn)
    }
}

client.go 客户端

package main
   
import (
    "fmt"
    "net"
    "bufio"
)
   
func main() {
    conn, err := net.Dial("tcp", ":6010")
    if err != nil {
        panic(err)
    }
   
    fmt.Fprintf(conn, "hello server\n")
   
    data, err := bufio.NewReader(conn).ReadString('\n')
    if err != nil {
        panic(err)
    }
   
    fmt.Printf("%#v\n", data)
}
分享到:
评论

相关推荐

    golang编写测试socket读写缓冲

    在本文中,我们将深入探讨如何使用Golang来编写测试socket读写缓冲的程序,并结合抓包工具进行分析。Golang,作为一种现代化的编程语言,以其强大的网络编程能力而备受推崇,其中socket通信是网络编程的基础。 首先...

    Go-ZSocket是LinuxZero-copysockets的一个Golang封装库

    因此,在使用Go-ZSocket时,需要根据实际需求进行性能测试和优化。 3. **并发与同步**: Go语言以其高效的并发模型著称,使用Goroutine和Channel可以轻松地实现多任务并行。在使用Go-ZSocket进行网络编程时,理解...

    Golang 帧同步通信框架

    1.处理粘包断包 2.同时支持TCPSocket和WebSocket共连 在线测试地址: http://www.ixy1688.com/TestMMO/ https://github.com/MosKevinJia/MMOTcpServer 交流群:283560109

    golang.org开发包net包

    在Golang中,`net`包是用于网络编程的核心组件,它提供了丰富的接口和功能,使得开发者能够方便地处理TCP、...如果你无法访问`golang.org/x`,可以从其他镜像站点下载这个仓库,以便查看源代码并进行本地开发和测试。

    golang之tcp自动重连实现方法

    测试服务器示例代码: /* tcp server for test */ package main import ( fmt net os strings time ) func checkError(err error) { if err != nil { fmt.Println(err) os.Exit(1) } } func handleClient

    基于Golang和Vue的在线聊天系统.zip

    3. **依赖注入**: Golang中的依赖注入通常通过构造函数或者接口实现,使得代码更加灵活和可测试。在聊天系统中,这可能应用于数据库连接、配置读取等服务的注入。 4. **结构体与接口**: Golang的接口让代码设计更加...

    TIM golang源代码

    10. **测试与持续集成**:自动化测试(单元测试、集成测试)、持续集成/持续部署(CI/CD)是保证代码质量和快速迭代的重要环节。Go语言的testing库和第三方工具如Jenkins、GitLab CI/CD支持这些实践。 通过学习和...

    go-eventsocket, 面向go编程语言的FreeSWITCH事件套接字库.zip

    go-eventsocket, 面向go编程语言的FreeSWITCH事件套接字库 eventsocketFreeSWITCH 事件套接字 程序语言库。它支持入站和出站事件套接字连接,充当连接FreeSWITCH或者接受来自FreeSWITCH的连接以控制调用调用的客户端...

    开源项目-TapirLiu-golang_chat.zip

    TapirLiu-golang_chat是一个开源的聊天应用项目,由Go语言编写,旨在提供基本的套接字(socket)和WebSocket通信功能。这个项目对于学习Go语言网络编程、实时通信以及构建聊天应用的开发者来说非常有参考价值。下面...

    websocket-tester:Golang WebSocket客户端,可启动大量WebSocket连接以进行测试

    网络套接字测试器安装1.安装到您的环境2.下载并构建websocket-tester go get github.com/wtmmac/websocket-tester用法./websocket-tester的用法: -i = 10:启动websocketTester的间隔(单位:毫秒) -n = 1:要执行...

    Golang_Gognet的例子.zip

    5. **性能测试示例**:可能包含基准测试代码,用于评估Gognet在高并发场景下的性能,这有助于了解其在实际项目中的表现。 6. **配置和优化示例**:可能会有如何配置Gognet以优化性能、调整线程池大小、设置超时等...

    1.8 Golang to build a real-time interactive SaaS Cloud - 董海冰.pdf

    - **兼容性问题:** 不同浏览器对WebRTC的支持程度不一,需要进行大量测试以确保跨平台兼容性。 - **稳定性考量:** 在大规模用户接入的情况下保持系统的稳定性和可靠性是一项挑战。 - **安全性保障:** 实现加密通信以...

    gogonet:用于 golang 的 GoDot 高级网络

    2. **网络套接字**:GoDot可能封装了TCP、UDP等网络协议的套接字操作,提供了简单易用的接口来创建服务器和客户端,使得开发者无需关注复杂的socket API。 3. **错误处理**:在Go语言中,错误处理是非常重要的部分...

    apps:go语言(golang)学习应用

    c++ 测试 file_reader/ file_write/ hello/ http_client/ php/ socket_server/ goroutine/ atomic/ channel/ mutex/ go_thrift/ hello/ http/ html_template/ html_template_js/ server_redis/ server_redis_pool/ ...

    Golang(Gin框架)+websocket 实现的多人聊天室+代码+详细文档

    前端部分,通常会有一个WebSocket客户端库,如`socket.io-client`,用来建立和管理与服务器的Websocket连接。前端页面需要监听Websocket事件,如打开、关闭、错误以及接收到的消息,同时提供用户界面,允许用户输入...

    接口压力测试工具,go语言

    Go语言,又称Golang,是由Google开发的一种静态类型的、编译型的、并发型的、垃圾回收的、C/C++风格的编程语言。Go语言以其简洁的语法、高效的执行性能以及对并发处理的良好支持而受到广泛关注,尤其适合构建高性能...

    socket-io-redis-emitter:socket.io redis适配器

    当前版本仅使用socket.io-redis@6和socket.io@4进行了测试。 发射器还提供其他编程语言版本: Java: : Python: : PHP: : Golang: : Perl: ://metacpan.org/pod/SocketIO :: 锈: : :bookmark_tabs: 表...

    MarioDB_Client:MarioDB的Golang客户端

    在Golang中,`tcp-client`和`tcp-socket`标签暗示了客户端使用了TCP套接字进行通信。TCP套接字是TCP协议的实现,允许程序发送和接收数据。在MarioDB_Client中,可能会有自定义的TCP套接字实现,以满足特定的性能需求...

    cellnet:高性能,简单,可扩展的golang开源网络库

    cellnet是一个组件化,高扩展性,高性能的开源服务器网络库使用领域cellnet经过多个版本的迭代,无论是作为... UDP协议纯UDP裸包收发HTTP(测试中)编写游戏服务器时,不再需要使用第三方HTTP服务器对接SDK。注:如需要

    Go语言实现socket实例

    用golang不用他的net包还有什么意义,这里提供一个测试代码: server.go 服务端: 代码如下:package main import (  “fmt”  “log”  “net”  “bufio” ) func handleConnection(conn net.Conn) {  data, ...

Global site tag (gtag.js) - Google Analytics