Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [sumo-user] Writing output to and receiving output on a socket

Is there anyway to do this easily using C++, specifically with the socket.h and socket.cpp files that are included in the tcpip folder? There seems to be code similar to what you've described in the socket.h/.cpp files, but it's not the exact same thing, from what I can tell.

image.png

On Fri, Mar 29, 2019 at 6:56 AM Michael Behrisch <oss@xxxxxxxxxxx> wrote:
Hi Peter,
this is not really a sumo specific question but I'll try to answer the
specific part. The sytax you are using tries to connect to a server
listening at the given address (on the given host). So you need to have
a listening server running there. The socket concept is not language
specific but if you want to see a python tutorial, try maybe this one:
https://www.binarytides.com/python-socket-programming-tutorial/

For the simplest case: opening a server socket, listening for only one
client and creating a file like object from it (which you can use to
read from like a file) the following should do:
    import socket
    port = 1338
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.bind(("localhost", port))
    s.listen(1)
    conn, addr = s.accept()
    f = conn.makefile('rb')
(This code is also in tools/sumolib/miscutils.py, so feel free to use it
instead of reimplementing.)

Best regards,
Michael


Am 28.03.19 um 23:46 schrieb PETER MARCHIONE:
> Hello,
>
> I've been given a task by my teammates involving SUMO. I need to figure
> out how to write information to a socket instead of a file. In pursuit
> of that goal, here's the command line I used.
>
> "sumo -c hello.sumocfg ---netstate-dump localhost:1338"
>
> Now that throws an error
>
> "Error: tcpip::Socket::connect() @ connect: Socket refused (host:
> locahost, port: 1338)
> Qutting (on error).:
>
> So my first problem is that I'm obviously not writing to the socket. I
> don't know if that's because it's not being given something to connect
> with, ie there's no listener on that socket. If that's the case, please
> let me know.
>
> My second problem is that I don't know /how /to write something that
> listens on that socket and receives the data. To start off with, I would
> just like to write to a console all the information that it receives,
> that way I know it's receiving it. I don't know if asking for help on
> this is outside the scope of this mailing list, but if you have the
> time, any help would be appreciated.
>
> Thanks,
>
> Peter Marchione
>
> _______________________________________________
> sumo-user mailing list
> sumo-user@xxxxxxxxxxx
> To change your delivery options, retrieve your password, or unsubscribe from this list, visit
> https://www.eclipse.org/mailman/listinfo/sumo-user
>



Back to the top