[BREAKGLASS] Append-only mirror of github.com/bluewallet/SwiftSocket
Go to file
Dan 5ea11facb0 Merge pull request #2 from danshevluk/development
Refactoring and Cocoapods support
2016-11-05 12:46:49 +03:00
SwiftSocket Edit project structure and add podspec 2016-11-05 10:33:38 +03:00
SwiftSocket.xcodeproj Edit project structure and add podspec 2016-11-05 10:33:38 +03:00
ysocket-ios merge to master 2015-10-26 17:28:43 +08:00
ysocketOSX merge to master 2015-10-26 17:28:43 +08:00
.gitignore add gitignore 2014-08-22 16:33:10 +08:00
.swift-version Merge pull request #2 from danshevluk/development 2016-11-05 12:46:49 +03:00
license add tcp server 2014-08-22 18:41:19 +08:00
README.md README.md: fix 2 typos 2016-02-02 15:41:30 +01:00
SwiftSocket.podspec Merge pull request #2 from danshevluk/development 2016-11-05 12:46:49 +03:00

a simple socket library for apple swift lang

usage

drag ysocket.c and ysocket.swift to your project just use apis in YSocket class

api usage

create client socket

//create a socket connect to www.apple.com and port at 80
var client:TCPClient = TCPClient(addr: "www.apple.com", port: 80)

connect with timeout

var (success, errmsg) = client.connect(timeout: 10)

send data

var (success, errmsg) = client.send(str:"GET / HTTP/1.0\n\n")
//or you can send binnary data
//socket.send(data:[Int8])

read data

var data = client.read(1024*10) //return optional [Int8]

close socket

var (success, errormsg) = client.close()

create servert socket

var server:TCPServer = TCPServer(addr: "127.0.0.1", port: 8080)

listen

var (success, msg) = server.listen()

accept

var client = server.accept() //now you can use client socket api to read and write

client socket example

//创建socket
var client:TCPClient = TCPClient(addr: "www.apple.com", port: 80)
//连接
var (success, errmsg) = client.connect(timeout: 1)
if success {
    //发送数据
    var (success, errmsg) = client.send(str:"GET / HTTP/1.0\n\n" )
    if success {
        //读取数据
        var data = client.read(1024*10)
        if let d = data {
            if let str = String.stringWithBytes(d, length: d.count, encoding: NSUTF8StringEncoding){
                println(str)
            }
        }
    }else {
        println(errmsg)
    }
} else {
    println(errmsg)
}

server socket example (echo server)

func echoService(client c:TCPClient) {
    println("newclient from:\(c.addr)[\(c.port)]")
    var d = c.read(1024*10)
    c.send(data: d!)
    c.close()
}
func testserver(){
    var server:TCPServer = TCPServer(addr: "127.0.0.1", port: 8080)
    var (success, msg) = server.listen()
    if success {
        while true {
            if var client = server.accept() {
                echoService(client: client)
            } else {
                println("accept error")
            }
        }
    } else {
        println(msg)
    }
}

Copyright and License

Code released under the BSD license.

QQ group

275935304