我正在尝试在我的应用程序中实现Web套接字,该套接字当前实现了RESTful Web API.我希望能够通过Web套接字连接公开某些信息,因此我试图弄清楚如何将正常的HTTP请求升级到Web套接字连接.
我正在尝试按照本教程
我遇到的问题是我的控制器处理从ApiController继承的Get请求,我正在尝试这样做:
if (HttpContext.Current.IsWebSocketRequest)
{
HttpContext.Current.AcceptWebSocketRequest(SomeFunction);
}
return new HttpResponseMessage(HttpStatusCode.SwitchingProtocols);
Run Code Online (Sandbox Code Playgroud)
问题是我的HttpContext.Current总是为null,我不知道为什么.似乎没有HttpContext这样的东西.然而,我确实从请求中看到它们是一个带有请求的HttpRequestContext.这两个对象是否完全相关,是否有任何方法可以访问.IsWebSocketRequest方法,以便我可以尝试将请求升级到Web套接字连接?
我的控制器和我想做的事情:
[HttpGet]
public HttpResponseMessage GetSomething()
{
if (HttpContext.Current.IsWebSocketRequest()){
Console.WriteLine("web socket request..");
}
}
Run Code Online (Sandbox Code Playgroud)
^ HttpContext.Current始终为null.我的控制器仅从ApiController继承
我最近加入了一个新项目,我的任务是使用Web套接字实现流数据.这个想法是当前通过HTTP请求(以RESTful方式)公开的一堆信息,他们希望通过Web套接字公开这些信息.
我在过去48小时内对网络套接字和STOMP进行了大量研究,并希望对以下几点进行一些澄清:
因此,对于客户端和服务器通过Web套接字而不是通过HTTP请求/响应进行连接,他们首先需要同意在它们之间建立Web套接字连接.这是通过HTTP GET完成的,传递了一个唯一的标头,表示他们要使用Web套接字连接吗?
从理论上讲,有一大堆不同的数据通过某些API暴露给浏览器.想象一下,有很多不同的HTTP请求可以做成GET'S,POST',DELETE等等.因此,要通过Web套接字传输所有这些信息的某些部分,是否只需更改每个资源的当前GET请求以检查是否存在特殊的websocket标头然后执行某些操作?或者是否还有其他事情要通过Web套接字公开某些数据.如果您从HTTP请求初始化套接字,我可能会误解HTTP和套接字的关系.
我认为这些是我的两个主要问题,我相信这些问题的答案将指引我朝着正确的方向继续学习更多有关该主题的内容.我试图找到任何好的示例代码示例,但我正在努力理解这一点,以便在一周内实现.
我遇到了这个正则表达式问题的麻烦.
语言为{1,0}.
我希望字符串的偶数为1,任意数量为0.
示例字符串包括:
110
101
11
0
empty set
1111
10101010101
Run Code Online (Sandbox Code Playgroud) 我正在回答这本教科书中的教科书问题.
我正在学习C中的指针,并且遇到了l值和r值.根据我的理解:
l-values are values that are defined after they are executed (++x)
r-values are values that are not defined after they are executed (x++)
Run Code Online (Sandbox Code Playgroud)
这是正确的吗?
我想回答的问题(我的尝试):
a) Which of the following C expressions are L-Values?
1. x + 2 Not a L value
2. &x Is a L value
3. *&x Is a L value
4. &x + 2 Not a L value
5. *(&x + 2) Is a L value
6. &*y Is a L value …Run Code Online (Sandbox Code Playgroud) 我正在尝试将一个char数组放在一起,将无符号的char变量放入一个函数中,如下所示:
int swap(unsigned char first, unsigned char second){
printf("First: %u",first);
char result[4];
result[0] = first;
result[1] = '0';
result[2] = '0';
result[3] = '\0';
printf("\nResult: %s", result);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,如果我将'2'传递给第一个(第一个打印语句工作正常),但第二个打印语句不打印'200'.我首先尝试在赋值语句中首先将(例如)(char)作为char进行转换,但无济于事.
谢谢
String numbers = "5 1 5 1";
Run Code Online (Sandbox Code Playgroud)
那么,它是:
String [] splitNumbers = numbers.split();
Run Code Online (Sandbox Code Playgroud)
要么:
String [] splitNumbers = numbers.split("\s+");
Run Code Online (Sandbox Code Playgroud)
寻找: ["5","1","5","1"]
知道为什么这.split两条线都不起作用?我试着阅读关于正则表达式的答案,但我没有得到任何地方.
所以我试图编码k最近邻算法.我的函数的输入是一组数据和一个要分类的样本.我只是想了解算法的工作原理.你能告诉我这个我想做的"伪代码"是否正确吗?
kNN (dataset, sample){
1. Go through each item in my dataset, and calculate the "distance" from that data item to my specific sample.
2. Out of those samples I pick the "k" ones that are most close to my sample, maybe in a premade array of "k" items?
}
Run Code Online (Sandbox Code Playgroud)
我感到困惑的部分是当我说"浏览我的数据集中的每个项目"时.我是否应该浏览数据集中的每个CLASS并找到k-最近邻居?然后从那里找到哪一个最接近我的样本,然后告诉我班级?
第2部分问题(ish),正在使用此算法,但没有样本.我如何计算数据集的"准确度"?
我真的在寻找广泛的单词答案,而不是具体细节,但任何有助于我理解的东西都表示赞赏.我在R中实现这一点
谢谢