C#实现读取IPv6 UDP Socket数据,再发送出去
C#实现读取IPv6 UDP Socket数据,再发送出去。
不知为何,黑框点一下就停止刷新了,再点一下,就继续刷新了。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading;
using System.Threading.Tasks; namespace ConsoleApplication1
{
class Program
{
static Socket s1, s2, s3;
static int s1_rxcnt = ;
static int s2_txcnt = ;
static int s3_txcnt = ;
static void Main(string[] args)
{
s1 = new Socket(AddressFamily.InterNetworkV6, SocketType.Dgram, ProtocolType.Udp);
s1.Bind(new IPEndPoint(IPAddress.IPv6Any, )); s2 = new Socket(AddressFamily.InterNetworkV6, SocketType.Dgram, ProtocolType.Udp);
s2.Bind(new IPEndPoint(IPAddress.IPv6Loopback, )); s3 = new Socket(AddressFamily.InterNetworkV6, SocketType.Dgram, ProtocolType.Udp);
s3.Bind(new IPEndPoint(IPAddress.IPv6Loopback, )); Thread t = new Thread(ReciveMsg);//开启接收消息线程
t.Start();
} static void ReciveMsg()
{
byte[] buffer = new byte[];
int length;
while (true)
{
length = s1.Receive(buffer);
s1_rxcnt++; s2.SendTo(buffer, new IPEndPoint(IPAddress.IPv6Loopback, ));
s2_txcnt++; s3.SendTo(buffer, new IPEndPoint(IPAddress.IPv6Loopback, ));
s3_txcnt++; Console.WriteLine("s1_rxcnt: " + s1_rxcnt.ToString("D8") +
", s2_txcnt: " + s2_txcnt.ToString("D8") +
", s3_txcnt: " + s3_txcnt.ToString("D8"));
}
}
}
}
输出样式:
s1_rxcnt: , s2_txcnt: , s3_txcnt:
s1_rxcnt: , s2_txcnt: , s3_txcnt:
s1_rxcnt: , s2_txcnt: , s3_txcnt:
s1_rxcnt: , s2_txcnt: , s3_txcnt:
s1_rxcnt: , s2_txcnt: , s3_txcnt:
s1_rxcnt: , s2_txcnt: , s3_txcnt:
s1_rxcnt: , s2_txcnt: , s3_txcnt:
s1_rxcnt: , s2_txcnt: , s3_txcnt:
s1_rxcnt: , s2_txcnt: , s3_txcnt:
s1_rxcnt: , s2_txcnt: , s3_txcnt:
s1_rxcnt: , s2_txcnt: , s3_txcnt:
s1_rxcnt: , s2_txcnt: , s3_txcnt:
s1_rxcnt: , s2_txcnt: , s3_txcnt:
s1_rxcnt: , s2_txcnt: , s3_txcnt:
s1_rxcnt: , s2_txcnt: , s3_txcnt:
s1_rxcnt: , s2_txcnt: , s3_txcnt:
s1_rxcnt: , s2_txcnt: , s3_txcnt:
Visual C#官方例子教程
https://docs.microsoft.com/zh-cn/visualstudio/ide/tutorial-3-create-a-matching-game?view=vs-2015
C#实现读取IPv6 UDP Socket数据,再发送出去的更多相关文章
- 项目总结22:Java UDP Socket数据的发送和接收
项目总结22:Java UDP Socket数据的发送和接收 1-先上demo 客户端(发送数据) package com.hs.pretest.udp; import java.io.IOExcep ...
- UDP(socket)数据访问和封装情况C++代码
配置QT下的pro文件 TEMPLATE = app CONFIG += console CONFIG -= app_bundle CONFIG -= qt LIBS += -lWs2_32 ...
- 用java在客户端读取mongodb中的数据并发送至服务器
使用Java自带的socket端口来实现,程序如下: Client.java package com.cn.gao; import java.net.*; import java.io.*; impo ...
- php从memcache读取数据再批量写入mysql的方法
这篇文章主要介绍了php从memcache读取数据再批量写入mysql的方法,可利用memcache缓解服务器读写压力,并实现数据库数据的写入操作,非常具有实用价值,需要的朋友可以参考下. 用 Mem ...
- TCP和UDP Socket
1.tcp协议的编程 * 1:客户端.步骤 * 1:创建Socket对象,构造方法里需要指定服务端的ip地址和端口. * Socket socket = new S ...
- Linux编程之UDP SOCKET全攻略
这篇文章将对linux下udp socket编程重要知识点进行总结,无论是开发人员应知应会的,还是说udp socket的一些偏僻知识点,本文都会讲到.尽可能做到,读了一篇文章之后,大家对udp so ...
- 从网卡发送数据再谈TCP/IP协议—网络传输速度计算-网卡构造
在<在深谈TCP/IP三步握手&四步挥手原理及衍生问题—长文解剖IP>里面提到 单个TCP包每次打包1448字节的数据进行发送(以太网Ethernet最大的数据帧是1518字节,以 ...
- 【转】Linux编程之UDP SOCKET全攻略
转自:http://www.cnblogs.com/skyfsm/p/6287787.html?utm_source=itdadao&utm_medium=referral 这篇文章将对lin ...
- 一个I/O线程可以并发处理N个客户端连接和读写操作 I/O复用模型 基于Buf操作NIO可以读取任意位置的数据 Channel中读取数据到Buffer中或将数据 Buffer 中写入到 Channel 事件驱动消息通知观察者模式
Tomcat那些事儿 https://mp.weixin.qq.com/s?__biz=MzI3MTEwODc5Ng==&mid=2650860016&idx=2&sn=549 ...
随机推荐
- redis 其他操作
1.设定服务端密码 1.1.编辑 redis的配置文件 [root@centos7 ~]# vim /usr/local/redis/etc/redis.conf requirepass 123 # ...
- Postman post csrf_token
1.填入代码 var csrf_token = postman.getResponseCookie("csrftoken").value postman.clearGlobalVa ...
- @ControllerAdvice自定义异常统一处理
正常来说一个系统肯定有很多业务异常.而这些业务异常的信息如何返回给前台呈现给用户.比如用户的某些操作不被允许,需要给用户提示. Spring 提供了@ControllerAdvice这个注解,这个注解 ...
- C#图片采集软件 自动翻页 自动分类(收集美图必备工具)(一)
网站管理员希望将别人的整站数据下载到自己的网站里或者将别人网站的一些内容保存到自己的服务器上.从内容中抽取相关的字段,发布到自己的网站系统中.有时需要将网页相关的文件也保存到本地,如图片.附件等. 图 ...
- java.lang.IllegalArgumentException: clusterListener can not be null
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.mongodb. ...
- 创建dynamics CRM client-side (八) - 获取attribute的值 和 设置disable
大家可以用下面的方式来获取attribute的值 formContext.getAttribute("address1_shippingmethodcode").getText() ...
- ArcGIS10.2安装教程
1,首先要下载Arcgis 10.2软件,很大大约有2个多G.下载后分别全部解压. 2,首先,安装相应的LicenseManager,双击Arcgis 10.2打开安装界面,选择安装. 3,开始安装L ...
- win10系统下自由切换桌面
说明: win10系统下自由切换桌面,确认在win10系统下操作进行. 方法: 1.快捷键:ctrl+win键(开始键)+方向键(左/右) 2.桌面最下面的状态栏,点击红框
- node--->PHPStorm 停留在 Scanning files to index..
使用webpack时,敲了npm 一些命令后,PHPStorm 开始 Scanning files to index...,去建立文件索引,但是如果一直停留在这个状态,说明是npm install 后 ...
- Shiro自定义密码匹配认证
项目集成shiro的时候,有写某个自定义类然后继承自AuthorizingRealm 并且重写实现了他的2个方法: 1.其中一个:认证回调 验证账户密码的 doGetAuthenticationInf ...