ios socket怎么向指定的socket发送消息

发布网友 发布时间:2022-04-21 17:43

我来回答

5个回答

热心网友 时间:2023-07-11 09:58

  可以在io.sockets.on('connection', function (socket) {});中,保存这个socket对象,当要发送消息给这个客户端时,找到这个socket实例,即可以直接 socket.emit() 来发送消息了

热心网友 时间:2023-07-11 09:59

可以在io.sockets.on('connection', function (socket) {});中,保存这个socket对象,当要发送消息给这个客户端时,找到这个socket实例,即可以直接 socket.emit() 来发送消息了

热心网友 时间:2023-07-11 09:59

1、确认已经安装最新版本的iTunes
  2、将iPhone连接至iTunes
  3、通过Mac或PC上的iTunes对iPhone进行备份。iCloud备份无法恢复到早先版本,包括iOS 8.0。
  4、下载相应固件。
  5、在Mac上按住Option键,并点击“查看更新”;或在Windows上按住Shift键,并点击“查看更新”。
  6、点击“更新”即可。

热心网友 时间:2023-07-11 10:00

socket要向指定的服务发送数据,首先要有这个服务的IP地址,其次端口号,然后在写入数据发送就可以。这里有个小demo,是iOS客户端的,你可以参考参考。
http://blog.csdn.net/mobilecode/article/details/8755553

热心网友 时间:2023-07-11 10:01

@property (nonatomic, strong)AsyncSocket *serverSocket;

@property (nonatomic, strong)AsyncSocket *clientSocket;

@property (nonatomic, strong)AsyncSocket *myNewSocket;

@property (nonatomic, copy)NSString *fileName;

@property (nonatomic, strong)NSMutableData *allData;

@property (nonatomic)int fileLength;

@property (nonatomic, copy)NSString *host;

- (void)viewDidLoad

{

[super viewDidLoad];

self.serverSocket = [[AsyncSocket alloc]initWithDelegate:self];

[self.serverSocket acceptOnPort:8000 error:nil];

}

-(void)onSocket:(AsyncSocket *)sock didAcceptNewSocket:(AsyncSocket *)newSocket{

self.myNewSocket = newSocket;

}

-(void)onSocket:(AsyncSocket *)sock didConnectToHost:(NSString *)host port:(UInt16)port{

self.host = host;

[self.myNewSocket readDataWithTimeout:-1 tag:0];

}

-(void)onSocket:(AsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag{

NSData *headerData = [data subdataWithRange:NSMakeRange(0, 100)];

NSString *headerString = [[NSString alloc]initWithData:headerData encoding:NSUTF8StringEncoding];

if (headerString && [headerString componentsSeparatedByString:@"&&"].count==3) {

NSArray *headers = [headerString componentsSeparatedByString:@"&&"];

NSString *type = headers[0];

if ([type isEqualToString:@"file"]) {//接收到的是文件

self.fileName = headers[1];

self.fileLength = [headers[2] intValue];

//准备一个可变data 用来保存接收到的每一部分文件数据

self.allData = [NSMutableData data];

//得到第一部分抛去头的文件数据

NSData *subData = [data subdataWithRange:NSMakeRange(100, data.length-100)];

[self.allData appendData:subData];

self.historyTV.text = [self.historyTV.text stringByAppendingFormat:@"\n正在接收%@发送的%@文件",self.host,self.fileName];

}else if ([type isEqualToString:@"message"]){//接收到的是文本

NSData *messageData = [data subdataWithRange:NSMakeRange(100, data.length-100)];

NSString *message = [[NSString alloc]initWithData:messageData encoding:NSUTF8StringEncoding];

//把对方说的话显示出来

self.historyTV.text = [self.historyTV.text stringByAppendingFormat:@"\n%@说:%@",self.host,message];

}

}else{//没有头的情况

[self.allData appendData:data];

}

//判断是否接收完成

if (self.allData.length == self.fileLength) {

NSString *newPath = [@"/Users/tarena/Desktop" stringByAppendingPathComponent:self.fileName];

[self.allData writeToFile:newPath atomically:YES];

}

//继续接收数据

[self.myNewSocket readDataWithTimeout:-1 tag:0];

}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com