标签: broadcasting

发送UDP广播,接收多条消息

我有2个程序,1个用于发送UDP广播消息,1个用于监听此广播.我的问题是,有时当我发送广播时,接收器会收到2条消息.为什么?

接收者代码:

public class Receiver {
  private readonly UdpClient udp = new UdpClient(15000);
  private void StartListening()
  {
    this.udp.BeginReceive(Receive, new object());
  }
  private void Receive(IAsyncResult ar)
  {
    IPEndPoint ip = new IPEndPoint(IPAddress.Any, 15000);
    byte[] bytes = udp.EndReceive(ar, ref ip);
    string message = Encoding.ASCII.GetString(bytes);
    StartListening();
  }
}
Run Code Online (Sandbox Code Playgroud)

发件人代码:

public class Sender {
  public void Send() {
    UdpClient client = new UdpClient();
    IPEndPoint ip = new IPEndPoint(IPAddress.Broadcast, 15000);
    byte[] bytes = Encoding.ASCII.GetBytes("Foo");
    client.Send(bytes, bytes.Length, ip);
    client.Close();
  }
}
Run Code Online (Sandbox Code Playgroud)

c# udp broadcasting

38
推荐指数
2
解决办法
5万
查看次数

在TensorFlow中没有广播tf.matmul

我有一个问题,我一直在努力.它与tf.matmul()广播有关,也没有广播.

我在https://github.com/tensorflow/tensorflow/issues/216上发现了类似的问题,但tf.batch_matmul()对我的案例看起来并不像是一个解决方案.

我需要将输入数据编码为4D张量: X = tf.placeholder(tf.float32, shape=(None, None, None, 100)) 第一个维度是批次的大小,第二个维度是批次中的条目数量.您可以将每个条目想象为多个对象的组合(第三维).最后,每个对象由100个浮点值的向量描述.

请注意,我对第二维和第三维使用了None,因为实际大小可能会在每个批次中发生变化.但是,为简单起见,让我们用实际数字来形成张量: X = tf.placeholder(tf.float32, shape=(5, 10, 4, 100))

这些是我计算的步骤:

  1. 计算100个浮点值(例如,线性函数)W = tf.Variable(tf.truncated_normal([100, 50], stddev=0.1)) Y = tf.matmul(X, W) 问题的每个向量的函数 :tf.matmul()使用tf.batch_matmul() Y的预期形状没有广播和没有成功:(5,10,4,50)

  2. 对批次的每个条目应用平均池(在每个条目的对象上): Y_avg = tf.reduce_mean(Y, 2) Y_avg的预期形状:(5,10,50)

我预计tf.matmul()会支持广播.然后我发现tf.batch_matmul(),但它看起来仍然不适用于我的情况(例如,W需要至少有3个维度,不清楚为什么).

顺便说一句,上面我使用了一个简单的线性函数(其权重存储在W中).但在我的模型中,我有一个深层网络.因此,我遇到的更普遍的问题是自动计算张量的每个切片的函数.这就是为什么我预期tf.matmul()会有广播行为(如果是这样,tf.batch_matmul()甚至可能根本不需要).

期待向您学习!阿莱西奥

broadcasting tensorflow

11
推荐指数
1
解决办法
6559
查看次数

如何在java网络中播放

这是我第一次在java中编程网络.我正在寻找一种方式发送到某种方式广播到整个网络中的所有节点.让他们知道我的存在.我正在尝试制作一个多人网络游戏,我希望客户能够看到所有可用的游戏来选择加入哪个游戏.我想知道如何从服务器广播,以及如何让客户端听.

请简单,我是新手:)

提前致谢.

java networking client broadcasting

8
推荐指数
1
解决办法
8349
查看次数

对所有事情进行矢量化的冲动

我来自R和Matlab多年的julia,其中矢量化代码是性能的关键,并影响了我的思考.现在,阅读S. Johnson的这篇精彩博客文章"更多点"我确信朱莉娅的句法循环融合是该语言的一个很好的特征,但在移植我以前的矢量化代码时让我有点困惑.

将一些函数矢量化为几个参数是不好/差的形式?- 当我想迭代一个数组时,我是否应该编写所有例程的"标量"版本并调用点版本(或广播/地图)?

为了争论,请说我写下面的内容

function sphere_vol(r)
    return 4/3*pi*r^3
end
Run Code Online (Sandbox Code Playgroud)

然后在另一个函数中使用它,

function density(N, r)
    V = sphere_vol(r)
    return N/V
end
Run Code Online (Sandbox Code Playgroud)

等等(很多函数互相调用).我的直觉(来自其他语言)是在方便时将大多数函数定义为矢量化,如sphere_vol(r) = 4/3*pi*r.^3(微不足道的变化).有没有任何意义,如果我可以自动调用sphere_vol.(r::Array)(或map(sphere_vol, r::Array)?对于单参数函数,这不是一个重要的决定,但对于多个参数,它可以显着改变实现:我可以定义矢量化的density(N, r)矢量化版本以上r,或通过N,或两者(返回矩阵),但它更琐碎写这种方式(需要通过调用内部的广播sphere_vol.()./),在R和Matlab的我做出了这个选择对案件逐案基础上与此妥协:

  1. 矢量化更方便,更有效:我可以调用density(N::Vector, r::Vector)一次并获得完整的数组值.

  2. 在几个参数上一个矢量化函数很快变得很麻烦和/或难以管理(2个参数通常可以用一些技巧); 特别是当返回值不是标量时.

在朱莉娅实施新功能时,我不知道如何进行判断.

如果说在朱莉娅,我最好编写上面的"标量"版本吗?或者,如果对某些参数进行矢量化(例如Bessel,它调用Fortran例程的特殊函数),某些例程会更有效吗?我猜测有一个微妙的平衡(根据品味/风格,但也),但与R或Matlab相比,对性能的影响要小得多.

vectorization broadcasting julia

8
推荐指数
1
解决办法
200
查看次数

如何在C#中实现实时视频广播?

我想将一个实时视频广播设施插入一个网站.我打算使用silverlight和C#,但我在这个主题上非常新手.

做这个的最好方式是什么?

提前致谢.

更新:

我有一台相机.我想要它捕获它并在我的网站上显示.生活.但我不知道我必须在里面做些什么.告诉我有关捕获,流,api,dll以及我需要知道的任何其他内容的所有信息.谢谢.

c# silverlight broadcasting

6
推荐指数
1
解决办法
4751
查看次数

Java上的UDP广播不起作用

我正在尝试在IP地址"255.255.255.255"上发送UDP广播,以便在我的网络中进行设备发现.程序执行,但我在Wireshark中看不到任何内容.当我将IP地址更改为网络中的已知IP时,我可以在Wireshark中看到数据包.这是怎么回事 ?

这是我的代码:

public static void main(String args[]) throws Exception
{
    String Broadcastaddress = new String("255.255.255.255");
    int port = 9876;
    DatagramSocket serverSocket = new DatagramSocket();
    serverSocket.setBroadcast(true);
    InetAddress IPAddress = InetAddress.getByName(Broadcastaddress);
    System.out.println("Sending Discovery message to " + IPAddress + "Via UDP port " + port);

    byte[] sendData = new byte[4];
    sendData[0] = 'F';
    sendData[1] = 'I';
    sendData[2] = 'N';
    sendData[3] = 'D';

    DatagramPacket sendPacket = new DatagramPacket(sendData,sendData.length,IPAddress,port);

    while (true)
    {
        serverSocket.send(sendPacket);
        System.out.println("Packet sent");
    }


}
Run Code Online (Sandbox Code Playgroud)

java udp broadcasting

6
推荐指数
1
解决办法
4423
查看次数

关闭和打开手机后的AlarmManager对象

在我的应用程序中,我设置了一个警报

AlarmManager alarmMgr = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
...
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, id, intent, PendingIntent.FLAG_UPDATE_CURRENT);
...
alarmMgr.set(AlarmManager.RTC_WAKEUP, time.getTimeInMillis(), pendingIntent);
Run Code Online (Sandbox Code Playgroud)

它工作正常,除非我关闭并打开手机.

更具体地说,让我们说在10:20,我将闹钟设置为10:22,然后在10:21关闭并打开电话,闹钟将无效.

可能是什么问题?这是pendingIntent的广播问题还是应该设置alarmManager对象的一些标志,以便它在这样的条件下工作?

android broadcasting alarmmanager android-pendingintent

6
推荐指数
1
解决办法
6820
查看次数

iOS音频/视频直播解决方案

我正在为Android和iOS开发社交应用程序,iOS和Server工作已经开始.

我们的应用需要使用我们的应用向最终用户广播实时音频/视频.我们尝试过使用RED5和WOWZA设置服务器.

在iOS中我们遇到了来自RED5 iOS SDK的广播公司的崩溃,错误的框架所以我们搬到了WOWZA的试用版

在实施了适用于iOS的WOWZA GoCoder SDK之后,我们发现它的许可证对我来说太贵了8000美元+ 2000美元/年维护:(

午夜编码器似乎从评论中出错(我还没有将它用于广播客户端)

任何人都可以推荐我使用好的iOS SDK或一些自定义方式来实现我的移动相机的直播流媒体.

任何帮助将受到高度赞赏.谢谢

broadcast broadcasting video-streaming ios

6
推荐指数
1
解决办法
601
查看次数

缩放在numpy中在3D阵列上广播操作的时间

我试图在两个3D阵列上播放">"的简单操作.一个具有另一个维度(m,1,n)(1,m,n).如果我改变第三维(n)的值,我会天真地期望计算的速度将缩放为n.

然而,当我尝试明确地测量它时,我发现当将n从1增加到2时,计算时间增加约10倍,之后缩放是线性的.

当从n = 1到n = 2时,为什么计算时间会急剧增加?我假设它是numpy中的内存管理工件,但我正在寻找更具体的内容.

代码附在下面,附带结果图.

import numpy as np
import time
import matplotlib.pyplot as plt

def compute_time(n):

    x, y = (np.random.uniform(size=(1, 1000, n)), 
            np.random.uniform(size=(1000, 1, n)))

    t = time.time()
    x > y 
    return time.time() - t

a = [
        [
            n, np.asarray([compute_time(n) 
            for _ in range(100)]).mean()
        ]
        for n in range(1, 30, 1)
    ]

a = np.asarray(a)
plt.plot(a[:, 0], a[:, 1])
plt.xlabel('n')
plt.ylabel('time(ms)')
plt.show()
Run Code Online (Sandbox Code Playgroud)

广播操作的时间图

在此输入图像描述

python numpy broadcasting numpy-ufunc

6
推荐指数
2
解决办法
185
查看次数

wpf应用于广播视频,延迟15秒

我有一个使用Microsoft.expression.encoder和framework 4.0播放视频的WPF应用程序,但我在播放时有15秒的延迟.有任何建议减少广播时的延迟.

以下是守则

using Microsoft.Expression.Encoder.Live; 
using Microsoft.Expression.Encoder;

private void button1_Click(object sender, RoutedEventArgs e)
{ 
    try 
    { 
        EncoderDevice video = null; 
        EncoderDevice audio = null;
        GetSelectedVideoAndAudioDevices(out video, out audio);
        StopJob();

        if (video == null)
        {
            return;
        }

        StopJob();
        _job = new LiveJob();

        if (video != null && audio != null)
        {
            //StopJob();
            _deviceSource = null;
            _deviceSource = _job.AddDeviceSource(video, audio);
            _job.ActivateSource(_deviceSource);

            // Finds and applys a smooth streaming preset        
            //_job.ApplyPreset(LivePresets.VC1HighSpeedBroadband4x3);

            // Creates the publishing format for the job
            PullBroadcastPublishFormat format = new …
Run Code Online (Sandbox Code Playgroud)

c# wpf expression broadcasting video-streaming

5
推荐指数
1
解决办法
1029
查看次数