recv

Linux C用http协议下载文件

醉酒当歌 提交于 2020-01-21 07:54:19
#include <stdio.h> #include <stdlib.h> #include <limits.h> #include <sys/time.h> #include <sys/select.h> #include <netdb.h> #include <ctype.h> #include <stdlib.h> #include <string.h> #include <sys/types.h> #include <sys/socket.h> #include <unistd.h> #include <netinet/in.h> #define RECV_BUF_LEN (1024*100) struct hostent *host; char domain[256] = {0}; int port = 0; int ret_status(char *recv_buf) { if(NULL == recv_buf) { printf("recv_buf is NULL\n"); return -1; } int http_status = 0; char line[256] = {0} ; char *rest ; rest = strstr(recv_buf,"\r\n"); if ( rest != NULL) { memcpy(line,recv_buf,rest

store(商城项目)Springboot+springmvc+ajax+mybatis(15)

白昼怎懂夜的黑 提交于 2020-01-20 19:19:08
78. 创建订单表与订单商品表 CREATE TABLE t_order ( oid INT AUTO_INCREMENT COMMENT '订单id', uid INT COMMENT '归属用户', recv_name VARCHAR(20) COMMENT '收货人姓名', recv_phone VARCHAR(20) COMMENT '收货人电话', recv_province VARCHAR(20) COMMENT '收货地所在省', recv_city VARCHAR(20) COMMENT '收货地所在市', recv_area VARCHAR(20) COMMENT '收货地所在区', recv_address VARCHAR(50) COMMENT '详细地址', total_price BIGINT COMMENT '订单总价', order_time DATETIME COMMENT '下单时间', pay_time DATETIME COMMENT '支付时间', status INT COMMENT '订单状态:0-未支付,1-已支付,2-已取消,3-已关闭', created_user VARCHAR(20) COMMENT '创建人', created_time DATETIME COMMENT '创建时间', modified_user

安卓端腾讯QQ-【我的电脑】下载地址

邮差的信 提交于 2020-01-20 15:13:50
从PCQQ传入过来的文件,会包存在手机端QQ的以下位置,并且是不可修改的地址 /tencent/QQfile_recv/文件.后缀名 如果是小米手机则会显示为: /storage/emulated/0/tencent/QQfile_recv/文件.后缀名 但是即使这样请无视 /storage/emulated/0 这一段直接从 tencent 开始找 来源: https://www.cnblogs.com/setsuna-cn/p/12217837.html

python - socket 基础

空扰寡人 提交于 2020-01-19 03:44:43
最基本的socket实例: Server端 import socket phone = socket.socket(socket.AF_INET,socket.SOCK_STREAM) phone.bind(('127.0.0.1',8080)) phone.listen(2) print ('Start Server: ') connect,address = phone.accept() msg = connect.recv(1024) print ('客户端发来的消息是:',msg) connect.send(msg.upper()) connect.close() phone.close() Client端 import socket phone = socket.socket(socket.AF_INET,socket.SOCK_STREAM) phone.connect(('127.0.0.1',8080)) phone.send('test message!'.encode('utf-8')) msg = phone.recv(1024) print ('服务端发来的消息是:',msg) phone.close() Server端改进版 # -*-coding:utf-8-*- __author__ = 'qikang' import socket phone =

26.python网络编程

不打扰是莪最后的温柔 提交于 2020-01-19 00:04:50
一.楔子 你现在已经学会了写python代码,假如你写了两个python文件a.py和b.py,分别去运行,你就会发现,这两个python的文件分别运行的很好。 但是如果这两个程序之间想要传递一个数据,你要怎么做呢? 这个问题以你现在的知识就可以解决了,我们可以创建一个文件,把a.py想要传递的内容写到文件中,然后b.py从这个文件中读取内容就可以了。 但是当你的a.py和b.py分别在不同电脑上的时候,你要怎么办呢? 类似的机制有计算机网盘,qq等等。我们可以在我们的电脑上和别人聊天,可以在自己的电脑上向网盘中上传、下载内容。这些都是两个程序在通信。 二.软件开发的架构 我们了解的涉及到两个程序之间通讯的应用大致可以分为两种: 第一种是应用类:qq、微信、网盘、优酷这一类是属于需要安装的桌面应用 第二种是web类:比如百度、知乎、博客园等使用浏览器访问就可以直接使用的应用 这些应用的本质其实都是两个程序之间的通讯。而这两个分类又对应了两个软件开发的架构 1.C/S架构 C/S即:Client与Server ,中文意思:客户端与服务器端架构,这种架构也是从用户层面(也可以是物理层面)来划分的。 这里的客户端一般泛指客户端应用程序EXE,程序需要先安装后,才能运行在用户的电脑上,对用户的电脑操作系统环境依赖较大。 2.B/S架构 B/S即:Browser与Server,中文意思

网络编程

感情迁移 提交于 2020-01-17 04:31:43
tcp和udp的区别: https://www.jianshu.com/p/c63b082ac565 1.基于tcp # 服务端 import socket ​ # 创建服务端socket对象 server = socket.socket() ​ # 绑定IP和端口 server.bind(('192.168.3.6',8000)) ​ # 后边可以等5个人 server.listen(5) ​ print('服务端准备开始接收客户端的连接') # 等待客户端来连接,如果没人来就傻傻的等待。 # conn是客户端和服务端连接的对象(伞),服务端以后要通过该对象进行收发数据。 # addr是客户端的地址信息。 # #### 阻塞,只有有客户端进行连接,则获取客户端连接然后开始进行通信。 conn,addr = server.accept() ​ print('已经有人连接上了,客户端信息:',conn,addr) # 通过对象去获取(客户端通过伞给我发送的消息) # 1024表示:服务端获取数据时,一次性最多拿1024字节。 data = conn.recv(1024) print('已经有人发来消息了',data) # 服务端通过连接对象给客户端回复了一个消息。 conn.send(b'stop') ​ # 与客户端断开连接 conn.close() ​ # 关闭服务端的服务

模拟一个在线音乐播放程序(socket + 数据库)

最后都变了- 提交于 2020-01-16 11:32:10
模拟一个在线音乐播放程序(数据库 + socket(TCP协议)) 1,使用C/S架构来进行设计,分别写出客户端和服务器程序, 2,客户端链接服务器之后,服务器向用户提示可以选择的歌曲列表,用户选择后开始播放(音频文件存放在本地即可)。不需要实现暂停、切歌等功能 3,需要把常用功能封装为一个工具模块(.py文件),并对其进行调用 1. 创建数据库数据 1 1. 创建数据库 2 create database song; 3 use song; 4 5 2. 创建表 6 create table t_list( 7 id int primary key auto_increment, 8 name varchar(32) not null, 9 link varchar(2000) not null 10 ); 11 3. 数据库插入数据(后面的link字段中 需要放音乐文件在电脑上的本地路径,以供后面播放文件时调用) 12 Insert into t_list(name,link) values('stay_with_me', '/Users/.../StayWithMe.mp3'); 13 insert into t_list(name,link) values('Virtual Riot Lift Me_Up', '/Users/.../VirtualRiotLiftMe_Up

Why is there no flag like MSG_WAITALL for send?

萝らか妹 提交于 2020-01-14 18:49:58
问题 The flag MSG_WAITALL can be used for recv , which requests recv to block until the full request is satisfied. That means recv will not return until as much data as requested (specified by the argument len ) has been received, unless an error occurs or the connection has been closed. Why doesn't such a flag apply to send too? I think it would be very useful for sending ( send doesn't return until ALL the bytes the caller wants to send has been handed to TCP send buffer) 回答1: It would be

Why is there no flag like MSG_WAITALL for send?

女生的网名这么多〃 提交于 2020-01-14 18:48:09
问题 The flag MSG_WAITALL can be used for recv , which requests recv to block until the full request is satisfied. That means recv will not return until as much data as requested (specified by the argument len ) has been received, unless an error occurs or the connection has been closed. Why doesn't such a flag apply to send too? I think it would be very useful for sending ( send doesn't return until ALL the bytes the caller wants to send has been handed to TCP send buffer) 回答1: It would be

mpi4py 快速上手

一个人想着一个人 提交于 2020-01-10 05:49:15
在 上一篇 中我们介绍了如何安装和使用 mpi4py,下面我们以几个简单的例子来展示怎么使用 mpi4py 来进行并行编程,以使读者能够快速地上手使用 mpi4py。这些例子来自 mpi4py 的 Document ,有些做了一些适当的改动。 点到点通信 传递通用的 Python 对象(阻塞方式) 这种方式非常简单易用,适用于任何可被 pickle 系列化的 Python 对象,但是在发送和接收端的 pickle 和 unpickle 操作却并不高效,特别是在传递大量的数据时。另外阻塞式的通信在消息传递时会阻塞进程的执行。 # p2p_blocking.py from mpi4py import MPI comm = MPI.COMM_WORLD rank = comm.Get_rank() if rank == 0: data = {'a': 7, 'b': 3.14} print 'process %d sends %s' % (rank, data) comm.send(data, dest=1, tag=11) elif rank == 1: data = comm.recv(source=0, tag=11) print 'process %d receives %s' % (rank, data) 运行结果如下: $ mpiexec -n 2 python p2p