Comments (8)
Disclaimer: I'm new to Wren and it's embedding and C++ is not my best language, and low-level networking is not the simplest... so go easy on me. But if anyone had comments or wanted to try it out, test it, etc... there is no outbound connections, this is just a TCP server that handles incoming connections.
There is probably all sorts of ugly, missing error handling, and really there should probably be hooks for disconnect, etc... This should be considered like an alpha version.
https://github.com/joshgoebel/wren-cli/tree/network
A simple echo server:
import "socket" for TCPServer
var server = TCPServer.new("127.0.0.1",7000)
server.onConnect = Fn.new() { |conn|
conn.writeLn("Hello, user.")
var x
while (x = conn.readWait()) {
conn.write(x)
}
}
server.serve()
Very open to a high level discussion of what primitives we need to flesh this out.
from wren-cli.
OMG, a simple MUD or something in Wren would be pretty awesome.
from wren-cli.
libuv is only used in the CLI, wren itself doesn't know anything. You could build up on the CLI or doing something similar from scratch.
from wren-cli.
ok I will try that
from wren-cli.
The short answer is no, the Wren CLI doesn't currently expose libuv's networking API. I intend to, I just haven't gotten there yet.
from wren-cli.
This seems not to be in your repository @joshgoebel.
Might it be in a branch you have not committed to github yet?
from wren-cli.
https://github.com/joshgoebel/wren-console/blob/network/src/module/network.wren
The stuff I was working on can be found in the branch I pointed to.
from wren-cli.
https://github.com/joshgoebel/wren-console/blob/network/src/module/network.wren
The stuff I was working on can be found in the branch I pointed to.
Thank you :D however, the link I answered to: is either a different repository or a different branch. So no reason to "down thumb" a valid question.
Perhaps I just don't grasp the github webinterface ...
from wren-cli.
Related Issues (20)
- Proposal: Modify and retrieve the local environment variables HOT 7
- Proposal: `File.basename` and `File.dirname`
- RFC: Consider using an actual Wren testing library
- Document auto-generation? Moving docs from `wren` to `wren-cli`? HOT 3
- What is the correct behavior of `Stdin.readLine`? HOT 1
- What is the correct behavior of `Stdin.readByte`?
- What is correct behavior of `Stdin.readCodepoint`?
- continue HOT 12
- ER: import from a specified location HOT 6
- [BUG] "Unhandled key-code [dec]: 8" on Backspace HOT 5
- Meta module only load in REPL HOT 1
- libuv is a problem HOT 11
- Failed to build: Error: conflicting types for โwriteโ; have โvoid(WrenVM *, const char *)โ HOT 5
- ANSI Color for gray comes up black on MacOS terminal HOT 3
- Add a dynamic link build with wren and libuv
- Does not build on FreeBSD HOT 1
- .
- Absolut import does not work. HOT 4
- Minour she bang issue (#! /bin/path/to/wrenc) not working properly
- Log.info allows only strings HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from wren-cli.