dispatch_sync(dispatch_get_global_queue(, ), ^{
// 处理耗时操作的代码块... // 创建socket
/*
1.AF_INET: ipv4 执行ip协议的版本
2.SOCK_STREAM:指定Socket类型,面向连接的流式socket 传输层的协议
3.IPPROTO_TCP:指定协议。 IPPROTO_TCP 传输方式TCP传输协议
返回值 大于0 创建成功
*/
_clientSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); // 建立连接(与服务器)
/*
终端里面 命令模拟服务器 netcat nc -lk 12345
参数一:套接字描述符
参数二:指向数据结构sockaddr的指针,其中包括目的端口和IP地址
参数三:参数二sockaddr的长度,可以通过sizeof(struct sockaddr)获得
返回值 int -1失败 0 成功
*/
struct sockaddr_in addr;
/* 填写sockaddr_in结构*/
addr.sin_family = AF_INET;
addr.sin_port=htons();
addr.sin_addr.s_addr = inet_addr("192.168.0.99");
int connectResult = connect( _clientSocket, (const struct sockaddr *)&addr, sizeof(addr)); // 发送数据(到服务器)
/*
第一个参数指定发送端套接字描述符;
第二个参数指明一个存放应用程式要发送数据的缓冲区;
第三个参数指明实际要发送的数据的字符数;
第四个参数一般置0。
成功则返回实际传送出去的字符数,失败返回-1,
*/
char * str = "itcast";
ssize_t sendLen = send( _clientSocket, str, strlen(str), ); // 接送数据(从服务器)
/*
第一个参数socket
第二个参数存放数据的缓冲区
第三个参数缓冲区长度。
第四个参数指定调用方式,一般置0
返回值 接收成功的字符数
*/
char *buf[];
ssize_t recvLen = recv( _clientSocket, buf, sizeof(buf), );
NSLog(@"---->%ld",recvLen);
});
// [self test];
}

socket连接 代码的更多相关文章

  1. 安卓Socket连接实现连接实现发送接收数据,openwrt wifi转串口连接单片机实现控制

    安卓Socket连接实现连接实现发送接收数据,openwrt wifi转串口连接单片机实现控制 socket 连接采用流的方式进行发送接收数据,采用thread线程的方式. 什么是线程?  详细代码介 ...

  2. linux socket连接中 ERRNO错误

    Connection refused:应该是连接的服务端没有启动或者连接端口错误,可以用如下代码测试 client端: #include <stdio.h> #include <sy ...

  3. UrlConnection连接和Socket连接的区别

    关于UrlConnection连接和Socket连接的区别,只知道其中的原理如下: 抽象一点的说,Socket只是一个供上层调用的抽象接口,隐躲了传输层协议的细节. urlconnection 基于H ...

  4. php socket 客户端代码

    <?php class SendDevAction{ //log日志文件 private $logDevFile = ""; //日志字符串 private $logStr ...

  5. 转 Cocos网络篇[3.2](3) ——Socket连接(1)

    Cocos网络篇[3.2](3) ——Socket连接(1) 2015-03-05 22:24:13 标签:network http socket cocos [唠叨] 在客户端游戏开发中,使用HTT ...

  6. C# Socket连接超时设置

    问题描述:         对于C# Socket没有超时设置的选项,默认情况下进行Socket连接,返回连接失败需要20-30s时间,严重影响用户体验 问题解决: Socket服务器端: Socke ...

  7. 构建简单的socket连接池

    一开始,选用Vector<E>来存放连接.由于这个容器不是并发安全的,于是,每个方法都加一个synchronized来保持并发时的同步操作,并发效率很差,果断放弃.空余时间研究了下多线程的 ...

  8. hadoop单线程实现server多socket连接读取数据原理分析

    一.问题引出. Hadoop 的Server 采用了Java 的NIO,这样的话就仅需要为每一个socket 连接建立一个线程,读取socket 上的数据.在Server 中,只需要一个线程,就可以a ...

  9. socket示例代码演示程序(螺纹)

    client码,如以下: import java.io.*; import java.net.*; public class DailyAdviceClient { public void go(){ ...

随机推荐

  1. Kafka理论学习

    Kafka Consumer设计解析 http://www.jasongj.com/2015/08/09/KafkaColumn4/

  2. backbone测试代码

    一.入门测试 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www. ...

  3. ora-12519:TNS ,no appropriate service handler found

    今天有同事反应,数据库连不了,提示 ora-12519:TNS ,no appropriate service handler found: 一开始以为监听没有启动,排查后,发现正常:于是google ...

  4. coeforces 665D D. Simple Subset(最大团orsb题)

    题目链接: D. Simple Subset time limit per test 1 second memory limit per test 256 megabytes input standa ...

  5. 【EOJ Monthly 2018.2 (Good bye 2017)】

    23333333333333333 由于情人节要回家,所以就先只放代码了. 此题是与我胖虎过不去. [E. 出老千的 xjj] #include<cstdio> #include<c ...

  6. Windows Vista for Developers——第四部分:用户帐号控制(User Account Control,UAC)

    作者:Kenny Kerr 翻译:Dflying Chen 原文:http://weblogs.asp.net/kennykerr/archive/2006/09/29/Windows-Vista-f ...

  7. MTK DDR调试

    1. 获取 flash id: 硬件信息:通过这个节点可以知道当前flash的id,上层根据id找到对应的flash名字. cat /sys/block/mmcblk0/device/cid \ker ...

  8. OpenFileDialog无法弹出的解决方法

    今天在写一个socket通信的winform小程序,由于socket的receive方法会阻塞线程,所以就使用了多线程解决.但在新建的线程中创建OpenFileDialog并调用其ShowDialog ...

  9. office2016专业增强版安装包和激活工具

    链接:https://pan.baidu.com/s/1j_gvpNBWo1rQ0xB49I_Ttw 密码:v2w7

  10. HDU-2617

    Happy 2009 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...