Go语言实现socket实例
作者:不吃皮蛋 发布时间:2024-02-04 20:17:30
标签:Go语言,socket
本文实例讲述了Go语言实现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)
}
希望本文所述对大家的Go语言程序设计有所帮助。
0
投稿
猜你喜欢
- 很多现代的浏览器在地址栏的右边有个搜索框,默认的安装有 Google 搜索等。如下图所示:其实这是 OpenSearch 的一个应用,只要编
- function click(e) { if (document.all) { if (event.button==1||event.but
- 本文记录了MySQL下载安装详细教程,供大家参考,具体内容如下1.下载MySQL数据库可以访问官方网站:2.点击DOWNLOADS模块下的C
- 需求:从接口动态获取子菜单数据 动态加载 要求只有展开才加载子菜单数据 支持刷新,页面显示正常思路:一开始比较乱,思路很多。想了很多首先路由
- 本文实例讲述了Python使用dict.fromkeys()快速生成一个字典。分享给大家供大家参考,具体如下:>>> re
- 今天介绍下Psyco模块,Psyco模块可以使你的Python程序运行的像C语言一样快。都说Python语言易用易学,但性能上跟一些编译语言
- 本文实例讲述了python中__slots__的用法。分享给大家供大家参考。具体分析如下:定义__slots__ 后,可以再实例上分配的属性
- time库是python中处理时间的标准库。计算机时间的表达:time()、ctime()、gmtime();提供获取系统时间并格式化输出功
- 在使用JavaScriptSerializer.Serialize 方法转json对象时,遇到一个问题,后台方法生成的json字符串中有没有
- 目录前言yarn create 做了什么源码解析项目依赖模版配置工具函数copycopyDiremptyDir核心函数命令行交互并创建文件夹
- np.percentilenumpy.percentile(a, q, axis=None, out=None, overwrite_inp
- python在进行字符串的拼接时,一般有两种方法,一种是使用+直接相加,另一种是使用joina = "tests"b =
- 我就废话不多说了,直接上代码吧!# 寻找局部最高点# 输入input: 含有最高点高度的列表# 输出output: 返回最高点的位置# 时间
- python 中的and从左到右计算表达式,若所有值均为真,则返回最后一个值,若存在假,返回第一个假值。or也是从左到有计算表达式,返回第一
- QTimer控件介绍如果在应用程序中周期性地进行某项操作,比如周期性的检测主机的cpu值,则需要用到QTimer定时器,QTimer类提供了
- Oracle to_char函数的功能是将数值型或者日期型转化为字符型,下面就为您详细介绍Oracle to_char函数的使用,希望对您能
- 代码如下:<% FunctIon DownloadFIle(StrFIle) StrFIlename=StrFIle Response
- mybatis plus实体类中字段映射mysql中的json格式1.实体类中有个属性是其他对象或者是List;在数据库中存储时使用的是my
- 在我们看一些使用反射的代码的时候,会发现,reflect.ValueOf 或 reflect.TypeOf 的参数有些地方使用的是指针参数,
- 这是一个给新手学习代码的帖子,包含以下内容:如何使用UBB代码,如何用js与剪贴板交互,如何使用textRange对象,如何使用自定义的快捷