所以,我有一个试图与服务器连接的客户端。从配置文件中检索 IP 和端口。如果配置文件中的某些内容不正确,我需要程序顺利失败。我使用以下代码连接到服务器
if (connect(sockfd, p->ai_addr, p->ai_addrlen) == -1)
{
perror("client: connect");
close(sockfd);
continue;
}
Run Code Online (Sandbox Code Playgroud)
如果用户尝试连接到子网上不接受连接(即不存在)的服务器,则程序将失败并显示No route to host. 如果程序尝试连接到不在子网上的服务器(即配置错误),则程序在connect()调用时挂起。我做错了什么?我需要这个来向用户提供应用程序失败的一些反馈。
我相信我有一个问题可以通过我缺少的东西很容易解决,但我似乎无法看到实际问题是什么.我有一个应用程序每秒返回5000点(5个数组元素1000 x,y点),我想在客户端使用NVD3更新.这是一个AngularJS应用程序,所以我使用的是krispos angular-nvd3指令.然而,它正在淹没整个应用程序,看起来,根据Chrome开发人员工具捕获的时间线,应用程序似乎正在等待d3_timer_step返回5-6秒.
我认为这个问题是由于我们如何更新数据,但整个问题似乎与实际的d3部分有关.客户端的代码是
<nvd3 options="optionsRingdown" data="ringdownAvg" config="{refreshDataOnly:true}"></nvd3>
Run Code Online (Sandbox Code Playgroud)
在控制器中,选项定义如下
$scope.options = {
chart: {
type: 'lineChart',
height: 300,
margin: {
top: 20,
right: 40,
bottom: 60,
left: 75
},
x: function(d) {
return d.x;
},
y: function(d) {
return d.y;
},
useInteractiveGuideline: false,
yAxis: {
tickFormat: function(d) {
return d3.format('0.01f')(d);
},
axisLabel: 'Testing'
},
xAxis: {
tickFormat: function(d) {
return d3.time.format('%X')(new Date(d));
},
rotateLabels: -45
},
transitionDuration: 0,
showXAxis: true,
showYAxis: true
}
};
Run Code Online (Sandbox Code Playgroud)
并且数据在以下模板中定义
var ringdownT …Run Code Online (Sandbox Code Playgroud)