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 ...
随机推荐
- 1、使用 as 而不要用 is
public class ShouldAsNotIs { public void ShouldAs() { object a = new ShouldAsNotIs(); var b = a as S ...
- WIN10升级后输入法无法输入中文
查看是否安装了中文输入法,可能在升级后用户文件出现问题. 在设置>语言.添加一下中文输入法.
- 随机算法 - Miller_Rabin pollard_rho
#include<stdio.h> #include<string.h> #include<stdlib.h> #include<time.h> #in ...
- Java动态编译技术原理
这里介绍Java动态编译技术原理! 编译,一般来说就是将源代码转换成机器码的过程,比如在C语言中中,将C语言源代码编译成a.out,,但是在Java中的理解可能有点不同,编译指的是将java 源代码转 ...
- window10配置python虚拟环境的路径
当我们搭建python+django项目的时候,需要配置虚拟环境,从而使项目与项目之间的包相互隔离,互不影响. 1.配置虚拟环境前,首先需要安装两个包 pip install virtualenvwr ...
- Jenkins Job构建
Jenkins job介绍 Jenkins Freestyle与Pipeline Job区别 Jenkins Job构建配置 一 .环境准备 1.配置Jenkins server本地Git ...
- 基于iTextSharp的PDF操作(PDF打印,PDF下载)
基于iTextSharp的PDF操作(PDF打印,PDF下载) 准备 1. iTextSharp的简介 iTextSharp是一个移植于java平台的iText项目,被封装成c#的组件来用于C#生成P ...
- Qt Installer Framework翻译(1)
IFW概览 Qt Installer Framework 提供了一组工具和程序来创建安装程序,并在不重写源代码的情况下将它们部署到所有受支持的桌面 Qt 平台上.安装程序具有本地化外观,并且可以感知运 ...
- ubuntu 16.10 shu rufa meiy ou l e geng xi zhi hou
- Ubuntu下配置Apache以及搭载CGI
在Windows下自己下载应用过Apache,在Linux下也用到了服务器,就选择了Apache.Apache的安装在Ubuntu下异常简单. 1. 上网下载自动包安装 sudo apt-get in ...