jwodder / confab Goto Github PK
View Code? Open in Web Editor NEWAsynchronous line-oriented interactive TCP client
License: MIT License
Asynchronous line-oriented interactive TCP client
License: MIT License
Options:
-p/--source-port <port>
— Set source port-s/--source-ip <ip>
— Set source IP addressThis can be done via tokio::net::TcpSocket::bind()
.
Problem: Setting the source IP requires committing to either IPv4 or IPv6 and making a connection to one IP at a time, which means extra work when a domain name has multiple IPs. (Then again, std::net::TcpStream::connect()
handles domains with multiple IPs by just trying them one at at time.)
Add the ability to configure the following on the command line:
Use IPv4 only
-4
, --ipv4
tokio::net::TcpSocket::new_v4()
Use IPv6 only
-6
, --ipv6
tokio::net::TcpSocket::new_v6()
TCP connection timeout in seconds
TCP read timeout?
TCP write timeout?
Set/unset TCP_NODELAY
?
Size of TCP receive buffer?
Size of TCP send buffer?
TTL/hop limit of outgoing packets?
Initial TCP keep alive timeout in seconds?
Interval for repeating TCP keep alive timeouts in seconds?
Number of times to repeat TCP keep alive packets?
Ask kernel to drop incoming packets whose TTL/hop limit is under a given value?
Some of these values may have to be set using https://docs.rs/socket2.
This calls AsyncWriteExt::shutdown()
.
The outgoing socket can apparently be shut down with SinkExt::close()
, which (for Framed
) calls AsyncWriteExt::shutdown()
.
See also: the -N
and -q
options of OpenBSD's netcat(1)
:
-N
— Shutdown the socket after EOF on input-q <seconds>
— After EOF on input, wait <seconds>
and then quit; implies -N
Only do this if a command-line option is given?
I have encountered the following problems while trying to test confab
on Windows, and they suggest that this program's support for Windows may currently be broken:
Trying to run the integration tests on GitHub Actions' Windows runners failed due to expectrl
being unable to capture any of confab
's output. This may be expectrl
's fault; see zhiburt/expectrl#52.
When I tried running confab
in a Windows VM (inside a git bash shell), pressing "Return" did not cause confab
to process or send any input or even to output the next prompt. This is presumably the fault of either the VM or rustyline-async
.
To Any Interested Windows Users: I would appreciate feedback on whether confab
works for you on your platform. Did you compile from source or download a release binary? If confab
doesn't work, does this test program work?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.