Added Homebrew blurb, fixed test example, removed patches from Makefile

This commit is contained in:
Joseph Henry
2019-05-15 10:31:16 -07:00
parent d5b064623e
commit ecd10fa46e
3 changed files with 37 additions and 10 deletions

View File

@@ -22,8 +22,8 @@ update:
# Patch submodules (issue update first)
patch:
-cd ext/lwip; git apply ../lwip.patch;
-cd ext/lwip-contrib; git apply ../lwip-contrib.patch;
#-cd ext/lwip; git apply ../lwip.patch;
#-cd ext/lwip-contrib; git apply ../lwip-contrib.patch;
#-cd ext/ZeroTierOne; git apply ../ZeroTierOne.patch;
# Target-specific clean

View File

@@ -10,7 +10,26 @@ The ZeroTier SDK is composed of two libraries: `libztcore` which is the platfor
<br>
For a complete example, see [test/simple.cpp](test/simple.cpp) or [test/example.cpp](test/example.cpp). With no error checking, a paraphrased example is as follows:
## Downloads / Installation
Tarballs:
- [libzt-release.tar.gz](https://download.zerotier.com/dist/sdk/libzt-1.3.0-release.tar.gz) // [libzt-debug.tar.gz](https://download.zerotier.com/dist/sdk/libzt-1.3.0-debug.tar.gz) // [libzt-source.tar.gz](https://download.zerotier.com/dist/sdk/libzt-1.3.0-source.tar.gz)
Homebrew
```
brew install libzt
```
***
<br>
## Example
- Complete example: [test/simple.cpp](test/simple.cpp)
- Slightly more thorough example: [test/example.cpp](test/example.cpp)
```
#include "ZeroTier.h"
@@ -38,11 +57,18 @@ int main()
...
```
After you've created a virtual network and added its `nwid` to the sample code, run:
```
clang++ example.cpp -o example -lzt
./example
```
The complete API specification can be found here: [API.md](API.md)
***
## Build
## Build from source
Build scripts use a combination of make, and cmake. To retrieve sources for all submodules, patch them, and build all targets (debug and release) for your host machine, issue the following:

View File

@@ -1,10 +1,10 @@
#include <ZeroTier.h>
#include <arpa/inet.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include "ZeroTier.h"
bool node_ready = false;
bool network_ready = false;
@@ -49,20 +49,21 @@ int main()
// Set up ZeroTier service and wai for callbacks
int port = 9994;
int nwid = 0x0123456789abcdef;
zts_start("test/path", &myZeroTierEventCallback, port);
uint64_t nwid = 0x0123456789abcdef;
zts_start("zt_config/path", &myZeroTierEventCallback, port);
printf("Waiting for node to come online...\n");
while (!node_ready) { sleep(1); }
zts_join(nwid);
printf("Joined virtual network. Requesting configuration...\n");
while (!network_ready) { sleep(1); }
printf("I am %llx\n", zts_get_node_id());
// Socket API example
if ((fd = zts_socket(AF_INET, SOCK_STREAM, 0)) < 0) {
printf("error creating socket\n");
}
if ((err = zts_connect(fd, (const struct sockaddr *)&addr, sizeof(addr))) < 0) {
printf("error connecting to remote host\n");
printf("error connecting to remote host (%s)\n", remoteIp);
}
if ((err = zts_write(fd, str, strlen(str))) < 0) {
printf("error writing to socket\n");
@@ -70,4 +71,4 @@ int main()
zts_close(fd);
zts_stop();
return 0;
}
}