Hi all,

Quick thanks to Alex for helping me get started a couple weeks ago. I'm trying 
to port/rewrite a C++ program I wrote to Genode and am running into a 
networking issue. The program is a server and accepts TCP connections from 
clients that do not wait for a response. I'm sending my data via a python 3.7 
script that works with the Linux native version of the application and is 
essentially:

import socket

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(('127.0.0.1', 5555))
sock.sendall(b"test\r\n")
sock.close()

Basically, I've been unable to read from my listen sockets. I'm able to bind, 
listen for connections, accept an incoming connection, and call socket read(), 
but then it just hangs. I saw something in the 18.08 release notes that made me 
think LwIP might only support asynchronous mode, so I tried nonblocking 
sockets. Those no longer hang, but they also don't read any data. Next, I tried 
using tcp_terminal and modifying the tcp_terminal_echo program to fit my needs. 
This program also can't read any of the data I send it. It accepts the incoming 
connection, but never logs that any bytes are read. However, TCP terminal does 
accept telnet connections like in the example program. I then discovered that 
my synchronous socket reading would actually work for a telnet connection as 
well.

Any idea what is going on here? For reference, my run script is essentially the 
same as tcp_terminal.run. Failing that, does anyone know what I would need to 
do to modify tcp_terminal/tcp_terminal_echo to make it accept regular tcp 
socket connections and not just telnet? Thanks so much!

-Connor
_______________________________________________
Genode users mailing list
[email protected]
https://lists.genode.org/listinfo/users

Reply via email to