@dlangru

Страница 316 из 719
Alexander
17.11.2017
08:51:33
Кто-нибудь работал с std.socket.TcpSocket?

Ackeard
17.11.2017
08:52:14
я на базе примера что то намутил

если скачать компилятор в архиве. то там есть примеры

Alexander
17.11.2017
08:53:47
Примерчики-то работают... Нужно у tcp клиента как-то задать исходящий порт, по умолчанию он рандомный.

Google
Alexander
17.11.2017
08:54:48
bind и listen что-то не помогают - ошибка. Они, как я понял, только для сервера

Ackeard
17.11.2017
08:55:29
бинд для всех

по моей памяти в питоне свой айпи и порт задаешь из бинда

Alexander
17.11.2017
09:00:16
Ща попробую с bind, но чуть по-другому

Заработало.

Надо было создать сокет с конструктором такого типа socket = new TcpSocket(AddressFamily.INET); потом вызвать bind, а потом connect. Если другой конструктор или другой порядок, то не работает

Спасибо!

Andrey
17.11.2017
09:54:26
а вот так нельзя разве Socket sock = new TcpSocket(new InternetAddress(domain, port)); ?

а, исходящий порт задать нужно

Alexander
17.11.2017
09:57:49
так можно, но так указывается входящий порт, а исходящий только через bind

Andrey
17.11.2017
09:59:09
ну да, я был невнимателен

Alexander
17.11.2017
10:11:26
Теперь столкнулся с еще одной проблемой - TIME_WAIT у сокета. То есть, если я закрываю сокет и тут же пытаюсь открыть новый на том же порту, то система возвращает, что порт занят. Если вставить sleep на 2 минуты, то работает. Путем гугления нашел, что есть такая опция сокета SO_REUSEADDR, (в случае с D SocketOption.REUSEADDR), но то ли лыжи не едут то ли я ...

Ackeard
17.11.2017
10:12:12
на с++ долго искал эту опцию

Google
Alexander
17.11.2017
10:13:26
c++ сеть не поддерживает же из коробки. Нужно либо библиотечки юзать, либо системное API

Ackeard
17.11.2017
10:13:47
линуксовые сокеты

Alexander
17.11.2017
10:15:00
Там проще, во первых, там С, а не С++, а во вторых документации навалом.

Ackeard
17.11.2017
10:16:05
согласен. но я тогда вообще не вдуплял что такое сокеты и что есть опции. с этой проблемой занятости сокетов 2дня провозился

Alexander
17.11.2017
10:16:33
Я кстати, кажется уже разобрался

Почему то и первый и второй сокеты надо открывать с этой опцией, если только один то не прокатывает

Ackeard
17.11.2017
10:43:34
я любой сокет по дефолту открываю с этой опцией

Alexander
17.11.2017
12:11:19
А с std.net.curl.SMTP кто-нибудь работал?

Примерчик из документации очень странно работает.. import std.net.curl; // Send an email with SMTPS auto smtp = SMTP("smtps://smtp.gmail.com"); smtp.setAuthentication("from.addr@gmail.com", "password"); smtp.mailTo = ["<to.addr@gmail.com>"]; smtp.mailFrom = "<from.addr@gmail.com>"; smtp.message = "Example Message"; smtp.perform();

Приходит письмо MAILER-DAEMON MAILER-DAEMON и всё

Andrey
17.11.2017
12:22:32
проверил, у меня примерчик как надо отрабатывает

Alexander
17.11.2017
12:23:33
странно может яндекс почте не нравится, темы нет. или еще чего-то

Ackeard
17.11.2017
12:24:58
используй менее пафосные мэйл сервисы. я использую webmail.vivaldi.net

могу сказать смтп порты и все такое

Alexander
17.11.2017
12:26:54
да ладно, если что - найду. Кстати как тему задать я так и не смог найти даже в сорцах

на gmail.com работает при условии, что в настройках акаунта дан доступ к акаунту "ненадежным приложениям"

тему можно сделать так: smtp.message = "Subject: SMTP TLS example message\r\n\r\n Example Message";

Oleg
17.11.2017
16:55:20
может у меня создалось неправильное представление о соотношении объёмов кода, но кажется что плюсы лежат в бустовой коробке...

zk
17.11.2017
16:56:22
просто у плюсов большая коробка - в бесконечность раз больше дишной

Google
zk
17.11.2017
16:59:44
на днях решил что не библиотеки решают, сейчас есть возможность перейти на язык, на котором нет библиотек (почти нет, самого языка можно сказать еще нет), но это не кажется проблемой

Oleg
17.11.2017
17:01:58
а когда тебе нужно раздать данные по snmp, или по видеоряду определить кто заходит/выходит в помещение начинаются вопросы

Ackeard
17.11.2017
17:03:09
когда моча в голову ударила, и хочешь намутить за вечер какую нибудь хрень - сначала пишешь на Д. потом забиваешь на всё и пишешь на питоне, ибо в питоне есть библиотеки на все случаи жизни.

Oleg
17.11.2017
17:03:58
так что дело в библиотеках...

zk
17.11.2017
17:04:18
http://gravilink.com https://t.me/Easy_Programming_Language

Oleg
17.11.2017
17:07:30
zk
17.11.2017
17:08:33
1. Некоторые ссылки захардкодены в html-файлах, и ведут на gravilink.com, например ./sitemap/ 2. Где: PEG, макросы, concurrency, parallelism? Ни разу до этого не видел подобных языков (стековые?). По началу не читал что было на главной странице, а сразу пошел смотреть примеры. На вид это не код, а кусок говна. Потом прочитал вводный текст, и начал опять просматривать примеры, и теперь они уже были вполне себе кодом. Примеры вроде как простые, но когда дошел до 18-го (func) так и не смог понять как оно там работает, понял лиш когда дочитал до 32-го (compare). Все было бы проще, если о параметрах (или как там правильно) рассказывалось в том тексте что на главной странице. Нужно подробней написать про useFile. Кто быстрей завезет модули - C++ или MPL? Неясно могут ли гетерогенные контейнеры в скорость. Очень не привычно думать о стеке, и вот интересно почему так сделали? Нужно примерно вот такое описание языка - Easy стековый язык который может в ... а также в ... Если библиотека языка написана на MPL, то нужны ее исходники. Где нормальный интерпретатор, компилятор?

мьсье знает толк...
на самом деле на сайте мало чего сказано, там например про нормальный компайлтайм не рассказывается

нормальный это когда все что в нем можно вычислить - в нем и вычисляется

в форварднутом тексте есть пример про На вид это не код, а кусок говна

zk
17.11.2017
17:14:42
интересно, какие плюсы у них

Oleg
17.11.2017
17:14:55
очень простой синтаксический разбор

эволюционным путём выявлено что "классические" (в плане нотаций) языки более приспособлены для усвоения и использования человеком

https://ru.wikipedia.org/wiki/%D0%A4%D0%BE%D1%80%D1%82_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)

71-ый год

zk
17.11.2017
17:17:32
ну, плюсы краене не усваеваемы

Oleg
17.11.2017
17:17:51
да не...

Google
Oleg
17.11.2017
17:18:19
ты же сам когда строишь формулу не используешь постфиксную стековую запись

ну на бумаге, например

тоесть ты мыслишь другими абстракциями

а здесь тебе нужно постоянно конвертировать из своего представления в код

и обратно

zk
17.11.2017
17:19:21
это я про то, что синтаксис не достаточное условие

Oleg
17.11.2017
17:19:54
но обязательное

питон в этом плане пытался быть хорошим

типа не import math *, а from math import *

Admin
ERROR: S client not available

Oleg
17.11.2017
17:21:36
чтобы прям звучало на английском

и тернарный оператор странный там

a = 12 if cond else 15

вроде так

в ruby вообще можно не использовать скобки для аргументов функций

и оба языка достаточно популярны и просты

zk
17.11.2017
17:23:07
для того языка обещали компилятор, типа плюсовые такой скорости не дадут как у него

Oleg
17.11.2017
17:23:08
потому что читать код на них просто

zk
17.11.2017
17:23:33
и оба языка достаточно популярны и просты
с рубей вроде бегут на Эликсир

Google
zk
17.11.2017
17:23:53
типа итоговый код быстр

Oleg
17.11.2017
17:24:05
эмм....

вероятность КРАЙНЕ МАЛА

=)

zk
17.11.2017
17:24:45
нет

Oleg
17.11.2017
17:24:51
итоговый код быстрее плюсов получить это очень серьёзная работа

zk
17.11.2017
17:25:05
ей видимо и занимаются

Oleg
17.11.2017
17:25:10
вот сборка быстрее чем у плюсов (особенно с таким синтаксисом) это да

да даже если 20

zk
17.11.2017
17:25:44
хз сколько их

Oleg
17.11.2017
17:26:02
это не те человеко-века, которые на плюсы положены

человеко-тысячилетия даже

zk
17.11.2017
17:26:57
плюсы не дают гарантии что все что можно вычисляется в компайлтайме

Oleg
17.11.2017
17:27:35
в реальной жизни не так уж много вычисляется в ct

особенно в критической части алгоритма

zk
17.11.2017
17:28:38
компайлтайм видимо не единственный фактор

Oleg
17.11.2017
17:28:53
пока это "слухи"

а когда появятся тесты, то ещё должно будет пройти время чтобы тесты стали не совсем уж синтетическими

кстати в D всё что можно вычислить в CT можно заставить вычислить в CT

zk
17.11.2017
17:30:11
нельзя

Oleg
17.11.2017
17:30:15
а что нельзя можно в последней версии ldc оптимизировать в JIT

Страница 316 из 719