Socket网络编程
mick_seu
这个作者很懒,什么都没留下…
展开
-
【Socket编程】篇四之并发服务器
前三章中,服务器端一次只能处理一个客户,当多个客户端连接几乎同时到达服务端时,系统内核将其排入队列,accept函数依次处理连接,那么如何使得服务器端能够同时服务于多个客户呢?多进程编程并发服务器最简单的实现方法就是使用fork函数为每个客户端创建各自进程。并发服务器的框架如下:server_socket = socket()bind(server_socket,... )原创 2016-05-24 20:39:07 · 914 阅读 · 0 评论 -
【Socket编程】Tcp连接中accept生成新socket与监听socket的区别
参考自:socket的accept函数解析以及服务器和多个客户端的端口问题(L未若的博客)新建立的连接使用的端口号是否和listen所用端口号相同呢?如果认为是会分配新的端口,就大错特错了。因为:1、现在使用多路IO复用epoll等,配置好点的服务器可以支持数十万个并发连接,而端口号只有16位,最多才65535,且加上一些常用的端口号不能使用,可用的端口号都没那么多。2、现转载 2017-09-20 11:03:56 · 5200 阅读 · 0 评论 -
【Scoket编程】篇二
通过篇一,我初步学习了 Socket编程,下面我们继续深入学习。在篇一中我们首先简单地传输了比较少的字符串,这里我将使用 Socket 传递一个文件。首先让我们熟悉下 Socket编程的收发API:1)send() /sendto()ssize_t send(int sockfd, const void *buf, size_t len, int flags);ssiz原创 2016-05-15 21:43:55 · 838 阅读 · 0 评论 -
【Socket编程】篇七之Python实现Socket
一年前使用过C来实现Socket,如今见识了脚本的便利之后,我来尝试用Python再次实现一遍。UDP:客户端:import socketserverName = "127.0.0.1"serverPort = 12000clientSocket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)message = ra原创 2017-09-10 16:45:14 · 872 阅读 · 0 评论 -
【Socket编程】Python用udp实现简易ping
用Python实现一个简易的ping程序,客户端发送一个简易的ping报文,接收到该信息的服务器返回对应的pong报文,然后客户端计算RTT。由于UDP不是可靠协议,需要为该程序设置超时机制,超时1秒后将假设报文没有收到,并打印出超时提示。服务器实现如下:import socketimport errnoimport osHOST, PORT = "", 8888def原创 2017-09-17 15:28:48 · 5711 阅读 · 0 评论 -
【Socket编程】篇六之IO多路复用——select、poll、epoll
文章参考自:http://blog.csdn.net/tennysonsky/article/details/45745887(秋叶原 — Mike VS 麦克《Linux系统编程——I/O多路复用select、poll、epoll的区别使用》)在上一篇中,我简单学习了 IO多路复用的基本概念,这里我将初学其三种实现手段:select,poll,epoll。I/O 多路复用原创 2016-06-12 22:02:09 · 10751 阅读 · 0 评论 -
【Socket编程】Python实现简易Web服务器
利用Python,我们可以搭建一个简单的Web服务器,这里我参考了:https://ruslanspivak.com/lsbaws-part1/原创 2017-09-10 18:19:56 · 6758 阅读 · 5 评论 -
【Socket编程】篇三
下面我们实现下回声客户端。所谓“回声”,是指客户端向服务器发送一条数据,服务器再将数据原样返回给客户端。代码相对于 篇一 与 篇二 并没有太多变化。如下所示:服务器端:#include #include #include #include #include #include #include #include #include const int BUFFE原创 2016-05-23 22:22:42 · 3479 阅读 · 0 评论 -
【Socket编程】篇五之IO同步、异步、阻塞、非阻塞
参考自:http://blog.csdn.net/historyasamirror/article/details/5778378( 智障大师 的专栏《IO - 同步,异步,阻塞,非阻塞 (亡羊补牢篇)》)参考Richard Stevens的“UNIX® Network Programming Volume 1, Third Edition: The Sockets Networkin原创 2016-05-25 15:33:50 · 3060 阅读 · 1 评论 -
【Socket编程】篇一
参考自:http://www.cnblogs.com/skynet/archive/2010/12/12/1903949.html1、Socket 简介本地的进程间通信(IPC)有多种方法:1)消息传递(PIPE、FIFO、消息队列等)2)同步(互斥量、条件变量、读写锁、记录锁、信号量等)3)共享内存(匿名的和具名的)4)远程过程调用(Sol原创 2016-05-14 09:36:50 · 3698 阅读 · 2 评论 -
【Socket编程】非阻塞connect
阅读Skynet源码的过程中,发现一种非阻塞connect方式。以前不知道,这次好好学习一下。文章参考自:非阻塞connect编写方法介绍(董的博客)TCP连接的建立涉及到一个三次握手的过程,鉴于RTT波动范围很大,从局域网的几个毫秒到几百个毫秒甚至广域网上的几秒。这段时间内,我们可以执行其他处理工作,以便做到并行。因此,非阻塞connect可以为我所用。1、fcn原创 2017-09-28 15:06:13 · 1105 阅读 · 0 评论