import websocket
def on_message(wsapp, message):
print(message)
websocket.enableTrace(True)
wsapp = websocket.WebSocketApp("wss://stream.binance.com:9443", on_message=on_message)
wsapp.run_forever()
--- request header ---
GET / HTTP/1.1
Upgrade: websocket
Host: stream.binance.com:9443
Origin: https://stream.binance.com:9443
Sec-WebSocket-Key: iYMWWVWZ0B95xfyGU+pnnQ==
Sec-WebSocket-Version: 13
Connection: Upgrade
-----------------------
--- response header ---
HTTP/1.1 404 Not Found
Date: Sun, 03 Mar 2024 15:27:45 GMT
Content-Type: text/plain
Content-Length: 20
Connection: keep-alive
-----------------------
Handshake status 404 Not Found -+-+- {'date': 'Sun, 03 Mar 2024 15:27:45 GMT', 'content-type': 'text/plain', 'content-length': '20', 'connection': 'keep-alive'} -+-+- b'Invalid request path' - goodbye
faqs => faqs.CreationTime >= input.SortDateStart && faqs.CreationTime <= input.SortDateEnd
- скобок после faqs нет.static IEnumerable<Event> faqs() => faqs.CreationTime >= input.SortDateStart && faqs.CreationTime <= input.SortDateEnd;
- скобки есть. Конечно, смысл от этого поменяется! У ОПа faqs - имя параметра, у тебя - имя метода. Как бэ не одно и то же.namespace ConsoleApp1
{
public class InputClass //заглушка для типа данных, экземпляром которого является input
{
public DateTime SortDateStart;
public DateTime SortDateEnd;
public InputClass(DateTime start, DateTime end) { SortDateStart = start; SortDateEnd = end; }
}
public class FaqsClass //заглушка для типа данных, экземпляром которого является faqs
{
public DateTime CreationTime;
public FaqsClass(DateTime ctime) { CreationTime = ctime; }
}
internal class Program
{
static void Main(string[] args)
{
DateTime now = DateTime.Now;
var input = new InputClass(now, now + TimeSpan.FromSeconds(5));
// описываем лямбду-предикат
Func<FaqsClass, bool> my_lambda = faqs => faqs.CreationTime >= input.SortDateStart && faqs.CreationTime <= input.SortDateEnd;
var many_faqs_given = new FaqsClass[10];
for (int i = 0; i < many_faqs_given.Length; i++)
// только 6 значений (+0...+5) попадут в диапазон, описанный input
many_faqs_given[i] = new FaqsClass(now + TimeSpan.FromSeconds(i));
foreach (var f in many_faqs_given.Where(my_lambda))
Console.WriteLine("Match"); // выведет Match 6 раз
}
}
}
Lambda expressions
In the previous example, notice that the conditional expression (num % 2 == 0) is passed as an in-line argument to the Enumerable.Where method: Where(num => num % 2 == 0). This inline expression is a lambda expression.
faqs //аргумент лямбды
=> // разделитель аргумента и тела
// скобок нет - значит, дальше идёт вычисляемое лямбдой выражение
faqs.CreationTime >= input.SortDateStart //первый операнд
&& //оператор логического И
faqs.CreationTime <= input.SortDateEnd //второй операнд
bool lambda_func(SomeStructure faqs)
{ //input в лямбде доступен через замыкание
return (faqs.CreationTime >= input.SortDateStart) && (faqs.CreationTime <= input.SortDateEnd);
}
Кроме того, есть ещё излучение Хокинга. Если я правильно понимаю как оно работает (рождение пары частиц у самого горизонта событий, одна падает, одна улетает), то при наличии заряда у ЧД падение частицы противоположного заряда становится более вероятным, так что заряд в итоге выровняется до пренебрежимо малого.
Ну и да, если я верно помню, следует различать виртуальные фотоны как переносчики ЭМ-взаимодействия и реальные фотоны. Виртуальные фотоны не подвержены многим ограничениям реальных, собственно, они просто являются удобной математической моделью для описания взаимодействий.
Вот тут дальше я уже особо помочь не могу.