排序
TCP协议的粘包问题(数据的无边界性)
socket缓冲区和数据的传递过程,可以看到数据的接收和发送是无关的,read()/recv() 函数不管数据发送了多少次,都会尽可能多的接收数据。也就是说,read()/recv() 和 write()/send() 的执行次数...
socket缓冲区以及阻塞模式详解
使用socket编程实现回声客户端
所谓“回声”,是指客户端向服务器发送一条数据,服务器再将数据原样返回给客户端,就像声音一样,遇到障碍物会被“反弹回来”。 对!客户端也可以使用 write() / send() 函数向服务器发送数据...
send()/recv()和write()/read():发送数据和接收数据
Linux下数据的接收和发送 Linux 不区分套接字文件和普通文件,使用 write() 可以向套接字中写入数据,使用 read() 可以从套接字中读取数据。 前面我们说过,两台计算机之间的通信相当于两个套接...
listen()和accept()函数:让套接字进入监听状态并响应客户端请求
对于服务器端程序,使用 bind() 绑定套接字后,还需要使用 listen() 函数让套接字进入被动监听状态,再调用 accept() 函数,就可以随时响应客户端的请求了。 listen() 函数 通过 listen() 函数...
bind()和connect()函数:绑定套接字并建立连接
socket()函数用法详解:创建套接字
不管是 Windows 还是 Linux,都使用 socket() 函数来创建套接字。socket() 在两个平台下的参数是相同的,不同的是返回值。 Linux 中的一切都是文件,每个文件都有一个整数类型的文件描述符;soc...
Swift编程之枚举类型详解
一、定义枚举 在Swift中枚举的定义与其他编程语言中定义枚举不同,在每个枚举元素前面多了一个关键字case, case后紧跟的是枚举元素,下面是定义枚举类型的两种方式。 1. 多个case, 每个枚举元...
窥探Swift编程中的错误处理与异常抛出
在Swift 2.0版本中,Swift语言对其错误处理进行了新的设计,当然了,重新设计后的结果使得该错误处理系统用起来更爽。今天的主题就是系统的搞一下Swift中的错误处理,以及看一下Swift中是如何抛...
Swift语言中的一些访问控制设置详解
限制访问代码块,模块和抽象通过访问控制来完成。类,结构和枚举可以根据自己的属性,方法,初始化函数和下标来通过访问控制机制进行访问。常量,变量和函数的协议限制,并允许通过访问控制来访...









