非常简洁简单的tcp socket库 XKSocket

一个非常简洁简单的异步tcp socket库,主要就是分包的问题,处理组包,粘包等问题

非常适合新手:)

项目中带有使用示例.

http://git.oschina.net/dreamzgj/XKSocket

时间: 2024-11-05 15:51:43

非常简洁简单的tcp socket库 XKSocket的相关文章

网络编程----------SOCKET编程实现简单的TCP协议

首先我们需要大致了解TCP的几点知识: 1.TCP的特点:面向连接的可靠性传输 2.TCP的三次握手建立连接和四次挥手释放连接,但为什么TCP要三次握手建立连接呢? 答:因为两次握手无法保证可靠性,若最后一次失败,则客户端又会重新发起建立连接的请求,那么必然会消耗资源,而三次握手明显能够达到这个目的. 3.TCP为何是面向连接的? 答:因为TCP是传输层的协议,传输层的下层是网络层,IP协议就是网络层的协议,但是IP只提供尽力而为的的传输机制:而传输层的上层为应用层,它负责将下层的数据拿出来,所

win32汇编实现一个简单的TCP服务端程序(WinSock的简单认知应用)

Windows网络编程,相信好多人都知道,但是我们一般都是用其他语言编写,例如C,C++,JAVA,python等等,这些语言都可以,但是汇编语言比较底层,利用它,我们可以更清晰的了解到网络编程的内在部分,这是其他语言不能相比的,好了,废话不多说,这其实就是这次的目的(毕竟水平欠缺,还是先来按照罗云斌老师的WIN32汇编书上的例子加以学习,举一反三吧). 说道网络编程,现在我所接触到的程序开发,工具软件的使用,库等等都是基于Windows平台的,想要了解Windows的网络编程就必须要知道Win

TCP Socket Establish;UDP Send Package Process In Kernel Sourcecode Learning

目录 0. 引言 1. TCP握手流程 2. TCP connect() API原理 3. TCP listen() API原理 4. UDP交互过程 5. UDP send() API原理 6. UDP bind() API原理 0. 引言 Monitoring project 1. outer link connect: connect()->inet_stream_connect 2. Suspicious port monitor: listen()->inet_listen 3. S

[原]一个简单的TCP Client所涉及到的头文件

今天在Linux环境下写了一个最简单的TCP Client程序,没想到Linux环境下的头文件竟然这么分散,让我这样的菜鸟很是郁闷啊.编译成功的代码如下: #include <iostream> #include <string.h> #include <sys/socket.h> // Not need! #include <netinet/in.h> // struct sockadd_in, htons() #include <arpa/inet

网络编程四:互联网中TCP Socket服务器的实现过程需要考虑哪些安全问题

这篇曾经是答在这里的 互联网中TCP Socket服务器的实现过程需要考虑哪些安全问题- auxten 的回答 最近总是有人问我相关的问题,在专栏补发一下,希望能帮到更多人 首先,这是个很大的命题,之前在360负责过几个对外的服务的研发,也算是有点小经验,我试着答一下 在Internet环境下安全问题我主要分为如下几类 1. 信息传输过程中被黑客窃取 2. 服务器自身的安全 3. 服务端数据的安全 首先,如果能用https,就尽量用https,能用nginx等常见服务器,就用常见服务器,主要能避

TCP Socket Port Check

写了两个小程序,主要是用于linux和windows下TCP端口的检测,自带的telnet无法满足我批量检测的需要,在我眼里这类端口检测程序最为关键的是超时的限制,若端口不能却要老久才返回结果,有点不爽,在不改系统默认超时时间的前提上,引入socket的非阻塞模式达到超时限制的目的,下面是具体程序 1. windows下的tcp端口检测程序 简介:引入select模式作为超时限制 1 //TCP Port Check program in windows 2 3 4 #include <stdi

Spark Streaming连接TCP Socket

1.Spark Streaming是什么 Spark Streaming是在Spark上建立的可扩展的高吞吐量实时处理流数据的框架,数据可以是来自多种不同的源,例如kafka,Flume,Twitter,ZeroMQ或者TCP Socket等.在这个框架下,支持对流数据的各种运算,比如map,reduce,join等.处理过后的数据可以存储到文件系统或数据库. 利用Spark Streaming,你可以使用与批量加载数据相同的API来创建数据管道,并通过数据管道处理流式数据.此外,Spark S

最简单的Tcp连接的例子

1.服务器代码 #include <Windows.h> //ws2_32.lib对应ws2_32.dll,提供了对网络相关API的支持 #pragma comment(lib, "ws2_32.lib") int _tmain(int argc, _TCHAR* argv[]) { /* typedef struct WSAData { WORD wVersion; WORD wHighVersion; #ifdef _WIN64 unsigned short iMaxS

winsock2之最简单的win socket编程

原文:winsock2之最简单的win socket编程 server.cpp #include <WINSOCK2.H> #include <stdio.h> #pragma comment(lib,"ws2_32.lib") int main(int argc,char **argv) { //创建套接字 WORD myVersionRequest; WSADATA wsaData; myVersionRequest=MAKEWORD(1,1); int e