socket里sendto()函数
函数原型:
int sendto ( socket s , const void * msg, int len, unsigned int flags,
const struct sockaddr * to , int tolen ) ;
头文件:#include <sys/types.h> / #include <sys/socket.h>
sendto() 用来将数据由指定的socket传给对方主机。参数s为已建好连线的socket,如果利用UDP协议则不需经过连线操作。参数msg指向欲连线的数据内容,参数flags 一般设0,详细描述请参考send()。参数to用来指定欲传送的网络地址,结构sockaddr请参考bind()。参数tolen为sockaddr的结构长度。
返回值:
成功则返回实际传送出去的字符数,失败返回-1,错误原因存于errno 中
EBADF 参数s非法的socket处理代码。
EFAULT 参数中有一指针指向无法存取的内存空间。
ENOTSOCK 参数 s为一文件描述词,非socket。
EINTR 被信号所中断。
EAGAIN 此动作会令进程阻断,但参数s的socket为不可阻断的。
ENOBUFS 系统的缓冲内存不足。
EINVAL 传给系统调用的参数不正确。
socket(AF_INET, SOCK_DGRAM, 0);//IPV4 、UDP
socket (AF_INET, SOCK_STREAM, 0) ;//IPV4、TCP
#include<stdio.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<unistd.h>
#include<arpa/inet.h>int main()
{int rv = 0;char buf[64] = {}struct sockaddr_in serv_addr;socklen_t len=sizeof(serv_addr);int sockfd = socket(AF_INET,SOCK_DGRAM,0);if(sockfd < 0){return -1;}else{addr.sin_family =AF_INET;addr.sin_port =htons(serv_port);inet_aton(serv_ip, &serv_addr.sin_addr);}while(1){printf("请输入:");scanf("%s",&buf);sendto(sockfd, &buf, sizeof(buf), 0, (struct sockaddr*)&addr, sizeof(addr));rv = recvfrom(sockfd, &buf, sizeof(buf), 0, (struct sockaddr*)&addr,&len);if(rv > 0){printf(" recvfrom from server with %d byte\n",rv);}else{printf("recvfrom failure :%s\n",strerror(errno));close(sockfd);}}}
相关函数 :send , sendmsg,recv , recvfrom , socket;
socket里sendto()函数相关推荐
- C语言sendto()函数:经socket传送数据
相关函数:send, sendmsg, recv, recvfrom, socket 头文件:#include <sys/types.h> #include <sys/socke ...
- c语言 socket send,C语言中send()函数和sendto()函数的使用方法
C语言send()函数:经socket传送数据头文件: #include #include 定义函数: int send(int s, const void * msg, int len, unsig ...
- socket网络编程-socket()、bind()、setsockopt()、recvfrom()、sendto()函数
socket()函数 socket()函数的原型如下,这个函数建立一个协议族为domain.协议类型为type.协议编号为protocol的套接字文件描述符.如果函数调用成功,会返回一个标识这个套 ...
- socket编程:从send函数和sendto函数参数的不同看TCP和UDP的差别。
ssize_t send(int sockfd, const void *buf, size_t len, int flags); ssize_t sendto(int sockfd, const v ...
- socket编程的 sendto 函数
http://see.xidian.edu.cn/cpp/html/372.html 相关函数:send, sendmsg, recv, recvfrom, socket 头文件:#include & ...
- 测试socket udp 单次传输数据上限(sendto()函数data不能超过65507字节。udp头占8字节,ip头占20字节,加起来正好65535字节)
网传udp传输单次sendto()数据需小于64kb,即65536个字节? 于是我想实测一番 发送端 测试结果: 单次传输65507字节正常: 超过65507字节报错: 接收端 接收端只要大于等于发送 ...
- 从send函数和sendto函数参数的不同看TCP和UDP的差别
ssize_t send(int sockfd, const void *buf, size_t len, int flags); ssize_t sendto(int sockfd, const v ...
- php查询socket数据包头,php 查询数组值php中关于socket的系列函数总结
本文列举了所有关于PHP语言中使用socket相关服务的一些函数.注意使用如下函数之前,你需要确保你的socket已打开,如果你没有打开,请编辑你的php.ini文件,去掉下面这行前面的注释(分号): ...
- Socket中send()函数和rece()函数详解
1.send函数 int send (SOCKET s, const char FAR *buf. int len,int flags); 不论是客户还是服务器应用程序都是用send函数来向TCP连接 ...
- java socket send_Socket send函数和recv函数详解
int send( SOCKET s, const char FAR *buf, int len, int flags ); 不论是客户还是服务器应用程序都用send函数 ...
最新文章
- Android:ViewPager为页卡内视图组件添加事件
- Linux服务器安装cuda,cudnn,显卡驱动和pytorch超详细流程
- mysql根据已有表创建新表_SQL根据现有表新建一张表
- tomcat基本使用(二)
- 【渝粤教育】国家开放大学2018年秋季 1302T护理科研方法 参考试题
- php_字符编码浅谈_积累中。。。
- wget: unable to resolve host address的解决方法
- 计算机文档分段,Word文档如何快速分段
- 谈谈如何快乐地工作(上班),以及如何评价一个人的层次
- 思科路由器系统是Linux,思科推基于Linux新款无线存储路由器
- 在excel/wps中如何实现批量翻译
- echarts 图表不能占满全屏
- 用c++写一个简单的钓鱼(集卡)程序
- 银河麒麟系统飞腾CPU安装达梦数据库
- Web前端_配合swiper滑动插件实现同比例双指缩放图片
- Highlight_Matching_Pair问题解决
- 基于HTML节日主题网页项目的设计与实现——圣诞节日介绍(HTML+CSS)
- CSS 给背景图加颜色遮罩
- 【博学谷学习记录】超强总结,用心分享 | java基础
- Spring Integration sftp 技术专栏
热门文章
- docker图形化监控容器资源使用情况【cadvisor和scope】
- cadvisor 常用容器监控指标
- PS视频降噪去噪点插件;DeNoise英文可选 支持CS6- cc2019
- Ubuntu 桌面截屏(或截图)的方式
- ug建模教程ug建模怎么学ug10.0编程教程入门ug建模实例
- linux内存条查询,linux查询内存命令
- 3dmax2018卸载/安装失败/如何彻底卸载清除干净3dmax2018注册表和文件的方法
- idea类和方法注释模板配置
- 【推荐系统】特征值分解(谱分解)和奇异值分解(SVD),即在PCA上的应用
- SU插件情报局 | Selection Toys 过滤选择(附插件安装包)