前面学习了基本的最原始的单线程的socket的原理,下面学习一个新的知识点-粘包。由于我们接受的命令是recv(1024),那么如果当另一端发送的数据大于1024个字节的时候,他就会出现粘包的问题。每次只能发送1024个字节,如果我们直接放在一个循环里面不断发送,不断接受,那么当数..
分类:
编程语言 时间:
2016-10-10 09:42:17
阅读次数:
264
在学Python之前,先复习一下网络的基本概念。比如TCP/IP4层模型,最上面的应用软件发送数据包,数据包在运输层加上TCP或者UDP的报头,然后在网络层加上IP的报头,然后在数据链路层根据ethernet协议分割成帧,每个帧TCP的最大数值为1500个字节,因此一个3200字节的包可以被分割..
分类:
编程语言 时间:
2016-10-06 23:10:58
阅读次数:
239
原文地址:http://blog.sina.com.cn/s/blog_6d0599f90100rlem.html 一、网络知识的一些介绍 socket 是网络连接端点。例如当你的Web浏览器请求www.jb51.net上的主页时,你的Web浏览器创建一个socket并命令它去连接 www.jb51 ...
分类:
编程语言 时间:
2016-10-02 13:09:22
阅读次数:
305
写了一个简单的python socket的程序。运行时,报错如下 原因:文件的命名与Python的function的命名冲突 修改名称后,发现还是无法运行,检查目录下面是否有 这样子的一个文件,删除即可。 据我的理解,应该是我们自己命名重写了Python的socket函数。 附上我的小代码 ...
分类:
编程语言 时间:
2016-09-30 11:48:58
阅读次数:
381
今天不算忙,难得有时间闲下来了解一下socket的通信机制原理,顺便写一个简单的案例,以方便后期学习,积累。一、服务端绑定一个端口号、并处于监听状态。用accept()接收发来的数据请求:二、客户端通过地址和端口号连接服务端,并发送数据请求。三、服务端收到后,处理请求..
分类:
编程语言 时间:
2016-09-20 18:18:03
阅读次数:
237
动态导入模块 断言 服务器端 server = socket.socket(AF.INET,sock.SOCK_STREAM) Socket Types socket.SOCK_STREAM #for tcp socket.SOCK_DGRAM #for udp socket.SOCK_RAW #原 ...
分类:
编程语言 时间:
2016-09-11 12:54:07
阅读次数:
220
转自http://blog.csdn.net/rebelqsp/article/details/22109925 Python 提供了两个基本的 socket 模块。 第一个是 Socket,它提供了标准的 BSD Sockets API。 第二个是 SocketServer, 它提供了服务器中心类 ...
分类:
编程语言 时间:
2016-09-01 16:02:46
阅读次数:
139
UDP udp_server.py udp_client.py TCP tcp_server.py tcp_client.py ...
分类:
编程语言 时间:
2016-08-24 14:23:30
阅读次数:
215
1.直接上代码 这个程序里面要做几点说明:1,如果客户端发exit,那么服务端会接收到一个空字符串,因为可以通过对接收的字符串长度的判断来知道客户端是否退出了;2,如果客户端是通过程序终止的方式来关闭,那么服务器会收到一个Exception,那么服务端要对应的做异常处理(WINDOWS环境下),如果 ...
分类:
编程语言 时间:
2016-08-20 06:42:57
阅读次数:
212
本次使用的主要模块是socket模块,在这个模块中可以找到socket()函数,该函数用于创建套接字对象。套接字也有自己的方法集,这些方法可以实现基于套接字的网络通信。socket()模块函数要创建套接字,必须使用socket.socket()函数,语法如下:socket(socket_family,socket_type,p..
分类:
编程语言 时间:
2016-08-11 23:22:44
阅读次数:
163