iOS网络编程-iOS中Socket编程介绍

使用Socket进行C/S结构编程,连接过程

 

服务器端监听某个端口是否有连接请求。服务器端程序处于堵塞状态,直到客户端向服务器端发出连接请求,服务器端接受请求程序才能向下运行。一旦连接建立起来,通过Socket可以获得输入输出流对象。借助于输入输出流对象就可以实现与客户端的通讯,最后不要忘记关闭Socket和释放一些资源(包括:关闭输入输出流)。

客户端流程是先指定要通讯的服务器IP地址、端口和采用的传输协议(TCP或UDP),向服务器发出连接请求,服务器有应答请求之后,就会建立连接。之后与服务器端是一样的了。

在iOS中,客户端Socket编程可以使用的技术有三种:

1 使用NSStream。面向Objective-C语言的实现,由苹果提供的Foundation框架提供的API;

2 使用CFStream。面向C语言的实现,由苹果提供的Core Foundation框架提供的API;

BSD Socket。也叫伯克利套接字(Berkeley Socket),是Unix平台下广泛使用的Socket编程。它是面向C语言实现 的,完全使用C编写,使用起来比较麻烦。它是伯克利加州大学(University of California, Berkeley)的学生开发的。

在iOS中,服务器端Socket编程可以使用技术有二种:

1 使用CFStream。面向C语言的实现,由苹果提供的Core Foundation框架提供的API;

2 BSD Socket。也叫伯克利套接字(Berkeley Socket),是Unix平台下广泛使用的Socket编程。它是面向C语言实 现的,完全使用C编写的,使用起来比较麻烦。它是伯克利加州大学(University of California, Berkeley)的学生开发 的。

iOS网络编程与云端应用最佳实践

时间: 2024-10-07 06:15:12

iOS网络编程-iOS中Socket编程介绍的相关文章

网络编程-c++的socket编程,无客户端连接accept却不阻塞,直接返回了,怎么解决

问题描述 c++的socket编程,无客户端连接accept却不阻塞,直接返回了,怎么解决 以下是服务端的代码: #include "stdafx.h" #include "winsock2.h" #include "iostream" #pragma comment (lib,"ws2_32") using namespace std; int _tmain(int argc, _TCHAR* argv[]) { WSADA

socket编程 ping命令-socket编程——内网ping公网失败

问题描述 socket编程--内网ping公网失败 我电脑连的是铁通的公网,在做一个C/S socket编程.在我一台电脑上客户端和服务器之间可以正常发送数据,但是客户端放到别的可以上网的电脑上时就连不上了.我用ping命令检测过网络情况,基本上都ping不通.只有一次一个同学在公司用他的电脑ping通了,不过是单向的,我还是Ping不通他的,服务器和客户端之间还是发送不了数据.有哪位高手知道是什么原因?谢谢! 服务器端部分代码如下: //设定地址 serv.sin_addr.s_addr=ht

.NET中Socket编程的简单示例

编程|示例 以下示例程序实现简单的Socket通信,可以开多个客户端.本机测试通过,未做联机测试. Server: using System.Net; using System.Net.Sockets; using System.Threading; using System.Collections; namespace MySocketServer1 {     public partial class Form1 : Form     {         private IPAddress

iOS项目开发之Socket编程

有一段时间没有认真总结和写博客了 前段时间找工作.进入工作阶段.比较少静下来认真总结,现在静下心来总结一下最近的一些心得 前言 AsyncSocket介绍 AsyncSocket详解 AsyncSocket示例 一.前言 公司的项目用到了Socket编程,之前在学习的过程当中,用到的更多的还是http请求的方式.但是既然用到了就必须学习一下,所以就在网上找一些例子,然后想自己写一个demo.可是发现很多写iOS Socket的博客并没有很详细的说明,也可能是大神们觉得其他东西都浅显易懂. 自己专

从零开始学Python第八周:详解网络编程基础(socket)_python

一,Socket编程 (1)Socket方法介绍 Socket是网络编程的一个抽象概念.通常我们用一个Socket表示"打开了一个网络链接",而打开一个Socket需要知道目标计算机的IP地址和端口号,再指定协议类型即可. 套接字是一个双向的通信信道的端点.套接字可能在沟通过程,进程之间在同一台机器上,或在不同的计算机之间的进程 要创建一个套接字,必须使用Socket模块的socket.socket()方法 在socket模块中的一般语法: s = socket.socket(sock

Android中的Socket编程基础

Socket 编程基础知识: 主要分服务器端编程和客户端编程. 服务器端编程步骤: 1: 创建服务器端套接字并绑定到一个端口上(0-1023是系统预留的,最好大约1024) 2 : 套接字设置监听模式等待连接请求 3: 接受连接请求后进行通信 4: 返回,等待赢 一个连接请求 客户端编程步骤: 1: 创建客户端套接字(指定服务器端IP地址与端口号 ) 2: 连接(Android 创建Socket时会自动连接) 3: 与服务器端进行通信 4: 关闭套接字 Android Socket 通信原理注意

linux socket编程初认识

  学习是分享和合作式的! 转载请注明出处:http://blog.csdn.net/wdzxl198/article/details/10472999: 直接进入主题:           socket起源于Unix,而Unix/Linux基本哲学之一就是"一切皆文件",都可以用"打开open –> 读写write/read –> 关闭close"模式来操作.我的理解就是Socket就是该模式的一个实现,socket即是一种特殊的文件,一些socket

最基础的Python的socket编程入门教程_python

本文介绍使用Python进行Socket网络编程,假设读者已经具备了基本的网络编程知识和Python的基本语法知识,本文中的代码如果没有说明则都是运行在Python 3.4下. Python的socket功能封装在socket库中,要使用socket,记得先import socket,socket库的详细介绍参见官方文档.创建Socket 首先创建一个socket,使用socket库中得socket函数创建. import socket # create an INET, STREAM sock

详解Linux Socket编程(不限Linux)_Linux

我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型有哪些?还有socket的基本函数,这些都是本文想介绍的.本文的主要内容如下: 1.网络中进程之间如何通信? 本地的进程间通信(IPC)有很多种方式,但可以总结为下面4类: 消息传递(管道.FIFO.消息队列) 同步(互斥量.条件变量.读写锁.文件和