Swift开发:GCDAsyncSocket通信之TCP 客户端

Swift开发:GCDAsyncSocket通信之TCP 客户端,第1张

概述1 功能需求:       1 在Swift下使用GCDAsyncSocket实现简单的信息收发功能    2 Mac下为tcp客户端,windows下为tcp服务器  2 效果图: 3 swift代码:需要导入GCDAsyncSocket库文件,可去github下载 import UIKit class ViewController: UIViewController, GCDAsyncSock

1 功能需求:

1 在Swift下使用GcdasyncSocket实现简单的信息收发功能

2 Mac下为tcp客户端,windows下为tcp服务器

2 效果图:


3 swift代码:需要导入GcdasyncSocket库文件,可去github下载

import UIKit


class VIEwController: UIVIEwController,GcdasyncSocketDelegate {


@IBOutlet var serveripinput: UITextFIEld!

@IBOutlet var msginput: UITextFIEld!

@IBOutlet var conBtn: UIbutton!

@IBOutlet var sendBtn: UIbutton!

@IBOutlet var msgVIEw: UITextVIEw!

let serverPort: UInt16 = 9050

var clIEntSocket: GcdasyncSocket!

var mainQueue = dispatch_get_main_queue()

overrIDe func vIEwDIDLoad() {

super.vIEwDIDLoad()

}


//连接服务器按钮事件

@IBAction func conBtnClick(sender: AnyObject) {

do {

clIEntSocket = GcdasyncSocket()

clIEntSocket.delegate = self

clIEntSocket.delegateQueue = dispatch_get_global_queue(0,0)

try clIEntSocket.connectToHost(serveripinput.text!,onPort: serverPort)

conBtn.backgroundcolor = UIcolor.bluecolor()

}

catch {

print("error")

conBtn.backgroundcolor = UIcolor.redcolor()

}

}

func socket(sock: GcdasyncSocket!,dIDConnectToHost host: String!,port: UInt16) {

print("与服务器连接成功!")

clIEntSocket.readDataWithTimeout(-1,tag: 0)

}

func socketDIDdisconnect(sock: GcdasyncSocket!,withError err: NSError!) {

print("与服务器断开连接")

}


func socket(sock: GcdasyncSocket!,dIDReadData data: NSData!,withTag tag: Int) {

// 1 获取客户的发来的数据 ,把 NSData Nsstring

let readClIEntDataString: Nsstring? = Nsstring(data: data,enCoding: NSUTF8StringEnCoding)

print(readClIEntDataString!)


// 2 主界面ui 显示数据

dispatch_async(mainQueue,{

let showStr: NSMutableString = NSMutableString()

showStr.appendString(self.msgVIEw.text)

showStr.appendString(readClIEntDataString! as String)

showStr.appendString("\n")

self.msgVIEw.text = showStr as String

})

// 3.处理请求,返回数据给客户端 ok

let serviceStr: NSMutableString = NSMutableString()

serviceStr.appendString("ok\n")

clIEntSocket.writeData(serviceStr.dataUsingEnCoding(NSUTF8StringEnCoding),withTimeout: -1,tag: 0)

// 4 每次读完数据后,都要调用一次监听数据的方法

clIEntSocket.readDataWithTimeout(-1,tag: 0)

}

//发送消息按钮事件

@IBAction func sendBtnClick(sender: AnyObject) {

// 1.处理请求,返回数据给客户端 ok

let serviceStr: NSMutableString = NSMutableString()

serviceStr.appendString(self.msginput.text!)

serviceStr.appendString("\n")

clIEntSocket.writeData(serviceStr.dataUsingEnCoding(NSUTF8StringEnCoding),tag: 0)

}

}

总结

以上是内存溢出为你收集整理的Swift开发:GCDAsyncSocket通信之TCP 客户端全部内容,希望文章能够帮你解决Swift开发:GCDAsyncSocket通信之TCP 客户端所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1076717.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-26
下一篇2022-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存