ios/osx example project updates
This commit is contained in:
@@ -116,9 +116,6 @@ class ViewController: NSViewController {
|
||||
var bind_thread : NSThread!
|
||||
func attempt_bind()
|
||||
{
|
||||
// TCP
|
||||
if(selectedProtocol == SOCK_STREAM)
|
||||
{
|
||||
sock = zt_socket(AF_INET, SOCK_STREAM, 0)
|
||||
var addr = sockaddr_in(sin_len: UInt8(sizeof(sockaddr_in)),
|
||||
sin_family: UInt8(AF_INET),
|
||||
@@ -144,16 +141,17 @@ class ViewController: NSViewController {
|
||||
// Accept connection
|
||||
var len:socklen_t = 0;
|
||||
var legIntPtr = withUnsafeMutablePointer(&len, { $0 })
|
||||
|
||||
// TCP
|
||||
if(selectedProtocol == SOCK_STREAM) {
|
||||
while(accepted_sock < 0) {
|
||||
accepted_sock = zt_accept(sock, UnsafeMutablePointer<sockaddr>([addr]), legIntPtr)
|
||||
}
|
||||
print("accepted connection")
|
||||
}
|
||||
|
||||
// UDP
|
||||
if(selectedProtocol == SOCK_DGRAM)
|
||||
{
|
||||
|
||||
if(selectedProtocol == SOCK_DGRAM) {
|
||||
// nothing
|
||||
}
|
||||
}
|
||||
|
||||
@@ -177,7 +175,7 @@ class ViewController: NSViewController {
|
||||
// UDP
|
||||
if(selectedProtocol == SOCK_DGRAM)
|
||||
{
|
||||
// sendto
|
||||
// zt_sendto
|
||||
}
|
||||
}
|
||||
|
||||
@@ -196,7 +194,7 @@ class ViewController: NSViewController {
|
||||
// UDP
|
||||
if(selectedProtocol == SOCK_DGRAM)
|
||||
{
|
||||
// recvfrom
|
||||
// zt_recvfrom
|
||||
}
|
||||
}
|
||||
|
||||
@@ -206,6 +204,11 @@ class ViewController: NSViewController {
|
||||
while(true)
|
||||
{
|
||||
sleep(1)
|
||||
dispatch_async(dispatch_get_main_queue()) {
|
||||
var str_buf = [Int8](count: 16, repeatedValue: 0)
|
||||
zt_get_addresses(self.txtNWID.stringValue, &str_buf);
|
||||
print("IPV4 = ", String.fromCString(str_buf))
|
||||
}
|
||||
// TCP
|
||||
if(selectedProtocol == SOCK_STREAM)
|
||||
{
|
||||
@@ -226,7 +229,7 @@ class ViewController: NSViewController {
|
||||
// UDP
|
||||
if(selectedProtocol == SOCK_DGRAM)
|
||||
{
|
||||
// recvfrom
|
||||
// zt_recvfrom
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -271,10 +274,13 @@ class ViewController: NSViewController {
|
||||
|
||||
var service_thread : NSThread!
|
||||
func ztnc_start_service() {
|
||||
// If you plan on using SOCKS Proxy, you don't need to initialize the RPC
|
||||
//start_service("/Users/ztest")
|
||||
// If you plan on using direct calls via RPC
|
||||
start_service_and_rpc("/Users/ztest","XXXXXXXXXXXXXXXX");
|
||||
// Specify a path where the app's ZeroTier data files will be stored.
|
||||
// A path of "." will store them in the same location as the binary
|
||||
|
||||
// - If you plan on using SOCKS Proxy, you don't need to initialize the RPC
|
||||
// start_service(".")
|
||||
// - If you plan on using direct calls via RPC
|
||||
zt_start_service_and_rpc(".","8056c2e21c000001");
|
||||
}
|
||||
|
||||
|
||||
@@ -284,7 +290,7 @@ class ViewController: NSViewController {
|
||||
// Set initial UI values for demo
|
||||
txtAddr.stringValue = serverAddr
|
||||
txtPort.intValue = serverPort
|
||||
txtNWID.stringValue = "XXXXXXXXXXXXXXXX"
|
||||
txtNWID.stringValue = "8056c2e21c000001"
|
||||
|
||||
// ZeroTier Service thread
|
||||
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), {
|
||||
|
||||
@@ -126,7 +126,6 @@
|
||||
<state key="normal" title="Join"/>
|
||||
<connections>
|
||||
<action selector="UI_JoinNetwork:" destination="BYZ-38-t0r" eventType="touchUpInside" id="kem-tf-1h1"/>
|
||||
<action selector="btnJoinNetwork:" destination="BYZ-38-t0r" eventType="touchUpInside" id="LSj-sJ-YEs"/>
|
||||
</connections>
|
||||
</button>
|
||||
<textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" text="nwid" borderStyle="roundedRect" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="TvY-qZ-Zjm">
|
||||
@@ -139,7 +138,6 @@
|
||||
<state key="normal" title="Leave"/>
|
||||
<connections>
|
||||
<action selector="UI_LeaveNetwork:" destination="BYZ-38-t0r" eventType="touchUpInside" id="7Pg-IK-dMo"/>
|
||||
<action selector="btnLeaveNetwork:" destination="BYZ-38-t0r" eventType="touchUpInside" id="hmg-2Y-GCl"/>
|
||||
</connections>
|
||||
</button>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" usesAttributedText="YES" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Q7W-t2-dqo">
|
||||
|
||||
@@ -212,6 +212,7 @@ class ViewController: UIViewController {
|
||||
var str_buf = [Int8](count: 16, repeatedValue: 0)
|
||||
zt_get_addresses(self.txtNWID.text!, &str_buf);
|
||||
self.lblAddress.text = String.fromCString(str_buf)
|
||||
// print("IPV4 = ", String.fromCString(str_buf))
|
||||
}
|
||||
|
||||
// TCP
|
||||
@@ -258,41 +259,9 @@ class ViewController: UIViewController {
|
||||
//recvfrom(<#T##Int32#>, <#T##UnsafeMutablePointer<Void>#>, <#T##Int#>, <#T##Int32#>, <#T##UnsafeMutablePointer<sockaddr>#>, <#T##UnsafeMutablePointer<socklen_t>#>)
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
let host = CFHostCreateWithName(kCFAllocatorDefault, "google.com").takeRetainedValue()
|
||||
var resolved = CFHostStartInfoResolution(host, .Addresses, nil)
|
||||
let addresses = CFHostGetAddressing(host, &resolved)?.takeUnretainedValue() as! [NSData]?
|
||||
|
||||
|
||||
if let data = addresses?.first {*/
|
||||
//var storage = sockaddr_storage()
|
||||
//data.getBytes(&storage, length: sizeof(sockaddr_storage))
|
||||
|
||||
// if Int32(storage.ss_family) == AF_INET {
|
||||
// let addr4 = withUnsafePointer(&storage) { UnsafePointer<sockaddr_in>($0).memory }
|
||||
|
||||
// prints 74.125.239.132
|
||||
// print(String(CString: inet_ntoa(addr4.sin_addr), encoding: NSASCIIStringEncoding))
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
//var s_addr:sockaddr_in = (sockaddr_in)&socketAddress
|
||||
|
||||
//var s_addr = UnsafeMutablePointer<sockaddr>(storage)
|
||||
|
||||
if(bytesRead > 0)
|
||||
{
|
||||
|
||||
//try withUnsafeMutablePointer(&socketAddress) {
|
||||
// try sendto(sock, buffer, len, 0, UnsafeMutablePointer<sockaddr>($0), socklen_t(socketAddress.sin.sin_len))
|
||||
//}
|
||||
|
||||
print("socketAddressLength = ", socketAddressLength);
|
||||
|
||||
|
||||
let bytesWritten = withUnsafePointer(&socketAddress) {
|
||||
print("TXing...\n");
|
||||
sendto(sock, UnsafePointer(buffer), bytesRead, 0, UnsafePointer<sockaddr>($0), socketAddressLength)
|
||||
@@ -322,7 +291,7 @@ class ViewController: UIViewController {
|
||||
var service_thread : NSThread!
|
||||
func ztnc_start_service() {
|
||||
let path = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)
|
||||
start_service_and_rpc(path[0],"8056c2e21c000001")
|
||||
zt_start_service_and_rpc(path[0],"8056c2e21c000001")
|
||||
}
|
||||
|
||||
override func viewDidLoad() {
|
||||
|
||||
Reference in New Issue
Block a user