Server端:

package main

import (
"fmt"
"net"
) func main() { //创建udp地址
udpAddr, _ := net.ResolveUDPAddr("udp", "127.0.0.1:8080") //服务端建立监听
serverConn, _ := net.ListenUDP("udp", udpAddr)
defer func() {
serverConn.Close()
fmt.Println("main over!")
}() //与客户端IO
buffer := make([]byte, 1024)
n, remoteAddress, _ := serverConn.ReadFromUDP(buffer)
contents := buffer[:n]
fmt.Println("客户端:"+string(contents)) //回复客户端消息
serverConn.WriteToUDP([]byte("孽障!"),remoteAddress) }

  

Client端:

package main

import (
"fmt"
"net"
) func main() {
conn, _ := net.Dial("udp", "127.0.0.1:8080")
defer func() {
conn.Close()
fmt.Println("客户端已退出")
}() //客户端发起交谈
conn.Write([]byte("你妹,今天天气不错")) //接收服务端消息
buffer := make([]byte, 1024)
n, _ := conn.Read(buffer) fmt.Println("服务端:"+string(buffer[:n])) }

  

Go语言网络通信---一个简单的UDP编程的更多相关文章

  1. Go语言网络通信---连续通信的UDP编程

    Server: package main import ( "fmt" "net" ) func main() { //创建udp地址 udpAddr, _ : ...

  2. 用C语言编写一个简单的词法分析程序

    问题描述: 用C或C++语言编写一个简单的词法分析程序,扫描C语言小子集的源程序,根据给定的词法规则,识别单词,填写相应的表.如果产生词法错误,则显示错误信息.位置,并试图从错误中恢复.简单的恢复方法 ...

  3. 用Go语言实现一个简单的聊天机器人

    一.介绍 目的:使用Go语言写一个简单的聊天机器人,复习整合Go语言的语法和基础知识. 软件环境:Go1.9,Goland 2018.1.5. 二.回顾 Go语言基本构成要素:标识符.关键字.字面量. ...

  4. 用 C 语言编写一个简单的垃圾回收器

    人们似乎觉得编写垃圾回收机制是非常难的,是一种仅仅有少数智者和Hans Boehm(et al)才干理解的高深魔法.我觉得编写垃圾回收最难的地方就是内存分配,这和阅读K&R所写的malloc例 ...

  5. 使用 TUN 设备实现一个简单的 UDP 代理隧道

    若要实现在 Linux 下的代理程序,方法有很多,比如看着 RFC 1928 来实现一个 socks5 代理并自行设置程序经过 socks5 代理等方式,下文是使用 Linux 提供的 tun/tap ...

  6. socket实例C语言:一个简单的聊天程序

    我们老师让写一个简单的聊天软件,并且实现不同机子之间的通信,我用的是SOCKET编程.不废话多说了,先附上代码: 服务器端server.c #include <stdio.h> #incl ...

  7. 【阿菜做实践】利用go语言写一个简单的Pow样例

    本篇博客的主要内容是用go写一个简单的Proof-of-Work共识机制,不涉及到网络通信环节,只是一个本地的简单demo.开发IDE用的是JB Golang. 整个项目的文件结构如下: PoWdem ...

  8. 用Verilog语言实现一个简单的MII模块

    项目中要求简单地测试一下基于FPGA的模拟平台的RJ45网口,也就是需要实现一个MII或者RMII模块.看了一下官方网口PHY芯片的官方文档,还是感觉上手有点障碍,想在网络上找些参考代码看看,最后只在 ...

  9. go语言实现一个简单的登录注册web小程序

    最近学习golang也有一段时间了,基础差不多学了个大概,因为本人是java程序员,所以对web更感兴趣.根据<go web编程>中的例子改编一个更简单的例子,供新手参考,废话不多说,上菜 ...

随机推荐

  1. 976. Largest Perimeter Triangle

    Given an array A of positive lengths, return the largest perimeter of a triangle with non-zero area, ...

  2. 1.5.1- HTML之相对路径

    网页需要图片,首先需要找到它.实际工作中,通常新建一个文件夹专门用于存放图像文件,这时插入图像,就需要采用"路径"的方式来制定图像文件的位置.路径可以分为相对路径与绝对路径. 相对 ...

  3. 【JDK8】Java8 LocalDate操作时间和日期的API

    时间项目中的涉及到的时间处理非常多,犹豫SimpleDateFormat的不安全性以及Calendar等类在计算时比较复杂, 往往我们都会使用工具类来封装较多的日期处理函数, 但是JDK8中新增了操作 ...

  4. 学习Canvas绘图与动画基础 制作弧和圆(五)

    1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta charset="U ...

  5. Swift系列一 - 数据类型

    如果你习惯了OC的语法,第一次接触Swift的语法可能会有点抗拒,因为Swift的语法有点怪.但如果你有前端的基础,学Swift可能会有点吃力,如果你有C++的基础可能会学得比较快点.不管你有什么样的 ...

  6. 远程分支git换地址了,本地重新关联

    由于本人把github远程仓库的名字修改了所以做了以下步骤修改 步骤:两步 (1)先把之前关联的git清除掉 git remote rm origin (2)再关联新的地址 git remote ad ...

  7. 百度地图api根据用户IP获取用户位置(PHP)

    1.百度地图开放平台找的你的ak ,链接:http://lbsyun.baidu.com/apiconsole/key 2.获取用户ip地址(外网ip 服务器上可以获取用户外网Ip 本机ip地址只能获 ...

  8. Django(1)初识Django

    前言 Django是一个开放源代码的Web应用框架,由Python写成,最初用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站,即CMS(内容管理系统)软件,于2005年7月在BSD许可证下发布,这 ...

  9. 通过Python将监控数据由influxdb写入到MySQL

    一.项目背景 我们知道InfluxDB是最受欢迎的时序数据库(TSDB).InfluxDB具有 持续高并发写入.无更新:数据压缩存储:低查询延时 的特点.从下面这个权威的统计图中,就可以看出Influ ...

  10. Java_接口回调与匿名内部类

    匿名内部类 警告:匿名内部类本质上是一个对象 如果有一个接口或者抽象类,必须要用class定义一个实现类写重写抽象方法,才能创建对象并使用. 匿名内部类就是省略了用class定义子类的过程,直接使用父 ...