我正在尝试直接连接到 IP 视频服务器(“Nuuo”IP 服务器)的视频流。
他们的说明手册提供了“主页”的 URL - 一个页面,该页面安装了一个可爱的小 ActiveX 控件,该控件处理与实际视频服务器的所有交互。
我需要那个内部服务器的 URL。[我不需要ActiveX控件提供的附加控件,并且处于Internet Explorer不可用的环境中。我只想要流]
我尝试了 Wireshark,它捕获了所有数据包,但没有显示不同页面的完整 URL。[即:如果物理设备位于 212.234.56.456,无论我连接到主页 (212.234.56.456/home.html) 还是视频服务器(可能类似于 212.234.56.456/video.amp),它都会显示相同的 URL ),或设备内的任何其他内容。]
尽管在他们的网站和手册中进行了很多令人头疼的搜索和搜索,但我还是无法理解如何获取服务器的整个 URL。
有人可以将我引导到教程或说明页面 - 或者只是说明如何做到这一点?
Wireshark 不一定是解决方案 - 我很乐意使用其他东西(尝试过 Fiddler,但不知道如何配置它 - 默认情况下它不捕获任何流量)
谢谢
编辑:协议是TCP
视频端口:8000 [服务器中有更改端口的选项。默认为 8000]
我正在尝试使用 VLC 或 RealPlayer 之类的东西 [为了重新流式传输] 而不是它附带的 activeX 控件连接到视频流。除了它显示在附加的数据包中之外,我对 TCP 一无所知。服务器正在编码为 MPEG 4 [h.264],并且应该流式传输 RTSP://
我读过很多人使用 Axis 服务器(他们使用 VLC 连接到 rtsp://[server-ip-address]:554/axis-media/media.amp)和使用 Arecont 服务器(rtsp ://[server-ip-address]/h264.sdp)。很明显,这个页面在我使用的Nuuo服务器上是不存在的,它是为了和Axis设备竞争而设计的。
我加载了页面,启动了 Wireshark,然后按下 ActiveXControl 上的播放按钮(开始播放视频)。下面是 Wireshark 捕获的第一个数据包 [许多,它是对视频的请求]:
No. Time Source Destination Protocol Info
53 7.198090 192.168.1.4 212.143.234.227 …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用jQuery提交我的Ajax表单.但是,调用submit()函数会导致整个页面刷新.它应该只执行表单的onSubmit部分(返回false以便页面不应刷新).
<%Ajax.BeginForm("AllocateAndUpdateMech",
New With {.Controller = "Planning",
.Id = Model.Id},
New AjaxOptions With {
.LoadingElementId = "loading",
.UpdateTargetId = Model.Id & "_alloc"},
New With {.id = "allocate_" & Model.Id & "_" & item.UserId}
)%>
<%Html.Hidden("mechId", item.UserId)%>
<a href="javascript:void(0);" onclick="$('#<%="allocate_" & Model.Id & "_" & item.UserId %>').submit();">Allocate: <%=item.UserName%></a>
<%Html.EndForm()%>
Run Code Online (Sandbox Code Playgroud) 有时,您只需要捕获Throwable,例如在编写调度程序队列时调度通用项目并需要从任何错误中恢复(所述调度程序记录所有捕获的异常,但是静默,然后继续执行其他项目).
我能想到的一个最佳实践是,如果它是InterruptedException,则总是重新抛出异常,因为这意味着有人打断了我的线程并想要杀死它.
另一个建议(来自评论,而不是答案)是始终重新抛出ThreadDeath
还有其他最佳做法吗?
在较大的项目中,我的单元测试通常需要一些"虚拟"(样本)数据来运行.一些默认客户,用户等.我想知道你的设置是怎样的.
我目前的解决方案
我区分主数据和样本数据,其中前者在系统投入生产时可用(第一次安装),后者是我运行测试所需的典型用例(以及在开发期间播放).
我将所有这些存储在一个Excel文件中(因为它很容易维护),其中每个工作表包含一个特定的实体(例如用户,客户等),并标记为主文件或样本.
我有2个测试用例,我(想念)用它来导入必要的数据:
这个问题令我感到困惑,它影响了单个用户(据我所知)并且没有被我们复制......
用户正在接收MissingMethodException,我们的跟踪文件表明它是在我们创建组件的新实例之后发生的,当我们调用Initialize/Setup方法准备让它工作时(示例中的InitializeWorkerByArgument)
由错误指定的方法是一个接口方法,基类实现,从基类派生的类可以根据需要覆盖
用户拥有我们应用程序的最新版本
所有提供的代码都在一个程序集中提供
这是组件的非常精炼版本:
class Widget : UserControl
{
public void DoSomething(string argument)
{
InitializeWorkerByArgument(argument);
this.Worker.DoWork();
}
private void InitializeWorkerByArgument(string argument)
{
switch (argument)
{
case "SomeArgument":
this.Worker = new SomeWidgetWorker();
break;
}
// The issue I'm tracking down would have occured during "new SomeWidgetWorker()"
// and would have resulted in a missing method exception stating that
// method "DoWork" could not be found.
this.Worker.DoWorkComplete += new EventHandler(Worker_DoWorkComplete);
}
private IWidgetWorker Worker
{
get;
set;
}
void Worker_DoWorkComplete(object …Run Code Online (Sandbox Code Playgroud) 我有一组带有生成ID的复选框,其中一些有额外的属性.是否可以使用JQuery来检查元素是否具有特定属性?例如,我可以验证以下元素是否具有属性"myattr"?属性的值可以变化.
<input type="checkbox" id="A" myattr="val_attr">A</input>
Run Code Online (Sandbox Code Playgroud)
例如,如何逐个检查具有此属性的所有复选框的集合?这可能吗?
在C#中,我可以使用该throw;语句在保留堆栈跟踪的同时重新抛出异常:
try
{
...
}
catch (Exception e)
{
if (e is FooException)
throw;
}
Run Code Online (Sandbox Code Playgroud)
在Java中有这样的东西(不会丢失原始堆栈跟踪)吗?
我需要自动化我的模块插入的软件的UI测试.我无法访问主机的代码,所以我需要像AutoIt这样的东西.由于AutoIt不能与Swing一起使用,是否有基于JAVA的应用程序的AutoIt GUI自动化工具?
我遇到了一个问题,我根本无法找到一个好的解决办法.
我想要这3个重载:
public IList<T> GetList<T>(string query) where T: string
public IList<T> GetList<T>(string query) where T: SomeClass
public IList<T> GetList<T>(string query) where T: struct
Run Code Online (Sandbox Code Playgroud)
显然第一个约束甚至不能单独编译,所以这是我的第一个问题.(我意识到我可以让它成为IList但我想要三个相同的语法)
无论如何,所有这些的原因,是这些方法是围绕对数据库执行SQL查询的包装器的一部分 - 我希望能够将结果作为字符串列表返回(如果有人选择varchar列),列表valuetypes(int,float,whatever)或类列表(这些类表示表,因此包含多个列)
我希望这部分有点可以理解:-)
无论如何,我的大问题显然是我无法进行这些重载,因为它们使用相同的名称和参数列表.
我也不能将它们合并到同一个方法中,因为我需要在该实现中调用SomeClass上的方法,所以除非我想做一些重型类型转换,或者更糟糕的是反射 - 我需要这个约束.
我意识到我正在努力做的事情是不可能的,所以我正在寻找的是一种很好的方法,它会模仿我的意图.
如果其中一些有点不清楚,请随意问:-)
编辑:
这是我当前的"where T:SomeClass"版本的代码.我正在尝试添加对当前代码的字符串/值类型的支持,所以也许我的初始方法是完全错误的 - 任何想法基本上都是受欢迎的:-)
public IList<TValue> GetList<TValue>(string query) where TValue : DbTable, new()
{
DataSet dataSet = GetDataSet(query);
IList<TValue> result = new List<TValue>();
if (dataSet.Tables.Count > 0)
{
foreach (DataRow row in dataSet.Tables[0].Rows)
{
TValue col = new TValue();
col.Fill(row);
result.Add(col);
}
}
return result; …Run Code Online (Sandbox Code Playgroud) 根据以下帖子的建议,我将以下代码添加到我的客户端.NET网站中.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
Run Code Online (Sandbox Code Playgroud)
由于某种原因,该网站仍然没有正确显示菜单.如果我进入IE8菜单并添加Web URL以始终以兼容模式显示,则该站点开始正常工作.我该怎么办?
注意:这是一个建于2006 - 2007年的旧网站.这不是当前发展的网站.
exception ×3
java ×3
.net ×2
c# ×2
jquery ×2
asp.net-mvc ×1
attributes ×1
automation ×1
firefox ×1
form-submit ×1
generics ×1
nunit ×1
rtsp ×1
swing ×1
testing ×1
throwable ×1
unit-testing ×1
url ×1
wireshark ×1