1. C# / Говнокод #19551

    −3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    _sock = new Socket(SocketType.Stream, ProtocolType.Tcp);
    var saea = new SocketAsyncEventArgs {RemoteEndPoint = new IPEndPoint(0x0100007f, 1338)};
    var mre = new ManualResetEventSlim(false);
    saea.Completed += (o, e2) => mre.Set();
    _sock.ConnectAsync(saea);
    mre.Wait();
    mre.Reset();
    var idBuf = new byte[8];
    var idSeg = new ArraySegment<byte>(idBuf);
    saea = new SocketAsyncEventArgs { BufferList = new[] { idSeg } };
    saea.Completed += (o, e2) => mre.Set();
    _sock.ReceiveAsync(saea);
    mre.Wait();
    Task.Run((Action) ReceivingLoop);
    mre.Dispose();

    Блядские сокеты в UWP. Майки лучше не смогли ничего придумать, как добавлять в язык с нормальной асинхронностью сокеты на КОЛЛБЕКАХ блять. В 2016. Коллбеки. Да они там ебанулись к хуям

    Запостил: cykablyad, 01 Марта 2016

    Комментарии (8) RSS

    • я может чего не догоняю, но разве не это сокеты в UWP?
      https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/StreamSocket
      Ответить
    • А, нет, это я даун, убейте меня кто-нибудь
      Это интерпретация этих сокетов
      https://ru.wikipedia.org/wiki/Сокеты_Беркли
      Ответить
      • И что мешает прикрутить к ним асинхронность?
        Ответить
        • а кто тебе сказал, что они синхронные?
          Ответить
          • s/асинхронные/async/
            Ответить
            • Сема, ты упорот? по сути, автор этого кода использует асинхронные методы, но почему-то ожидает выполнения асинхронной операции в запускающем потоке, что мягко говоря странно.
              исходя из этого, сами сокеты асинхронные, а вот код, который в данном ГК их использует - нет.
              Ответить

    Добавить комментарий