J'ai un serveur telnet que j'essaie de créer un test unitaire. Le serveur fonctionne correctement avec un client Telnet et devrait envoyer une invite dès que la connexion est établie. Envoyer sur la même prise fonctionne très bien. Toutefois, le client TCP du test d'unité refuse de recevoir des données et un délai d'expiration. Je suis nouveau à Elixir, donc, je peux manquer quelque chose de basique.Elixir gen_tcp.recv ne reçoit pas de données sur le test unitaire lorsque les clients telnet fonctionnent
opts = [:binary, packet: :line, active: false, reuseaddr: true]
{:ok, socket} = :gen_tcp.connect('127.0.0.1', 4040, opts)
{:ok, date_string} = Date.universal |> DateFormat.format("{ISO}")
IO.puts "Socket #{inspect socket} Created #{date_string}"
case :gen_tcp.recv(socket, 0, 5000) do
{:ok, data} -> IO.puts "Recevied data is #{data}"
{:error, reason} -> IO.puts "Error: Test Setup: First Receive: Reason: #{reason}"
end
je reçois la sortie suivante
Socket #Port<0.5758> Created 2015-12-12T01:36:08.248+0000
Error: Test Setup: First Receive: Reason: timeout
Il serait utile que quelqu'un peut faire la lumière sur ce qu'un novice Elixir fait mal
Merci beaucoup. Ce simple changement à cru a fait le travail. – davidj