社区
Linux/Unix社区
帖子详情
麻烦列出在linux或unix平台下C++编套接字通讯程序要用到哪些库或头文件
tangrh
2005-01-17 09:00:05
我需要在linux下用C++写一个TCP程序,采用标准的bsd套接口API,技术上估计不会有问题,关键是由于以前没有搞过C和C++,所以对头文件和标准库都不熟,哪位帮忙列举一下,谢谢
...全文
138
9
打赏
收藏
麻烦列出在linux或unix平台下C++编套接字通讯程序要用到哪些库或头文件
我需要在linux下用C++写一个TCP程序,采用标准的bsd套接口API,技术上估计不会有问题,关键是由于以前没有搞过C和C++,所以对头文件和标准库都不熟,哪位帮忙列举一下,谢谢
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tangrh
2005-01-17
打赏
举报
回复
好啊,有点眉目了
pacman2000
2005-01-17
打赏
举报
回复
和C的头文件是一样的啊!用到什么函数,man一下看看就知道要哪些头文件了。
whoho
2005-01-17
打赏
举报
回复
客户端
#include <cstdio>
#include <string>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <memory.h>
#include <arpa/inet.h>
int main()
{
int sock;
sockaddr_in addr;
socklen_t addr_len = sizeof(addr);
//create DATAGRAM socket
sock = socket(AF_INET, SOCK_DGRAM, 0);
//binding
memset(&addr, 0, addr_len);
addr.sin_family = AF_INET;
addr.sin_addr.s_addr = inet_addr("127.0.0.1");
addr.sin_port = htons(1234);
bind(sock, (sockaddr*)&addr, addr_len);
//send
std::string content("######### Hello Server ######### ");
content += '\0';
sendto(sock, content.c_str(), content.size(), 0,
(sockaddr*)&addr, addr_len);
//get reply
sockaddr_in srv_addr;
char buf[1024];
int n = recvfrom(sock, buf, 1024, 0,
(sockaddr*)&srv_addr, &addr_len);
printf("%d bytes of reply recieved, content: \n%s\n", n, buf);
}
whoho
2005-01-17
打赏
举报
回复
给你一个简单的udp例子,两个文件,先是服务器
#include <cstdio>
#include <string>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <memory.h>
#include <cassert>
int main()
{
int sock;
sockaddr_in addr;
socklen_t addr_len = sizeof(addr);
//create DATAGRAM socket
sock = socket(AF_INET, SOCK_DGRAM, 0);
//binding
memset(&addr, 0, addr_len);
addr.sin_family = AF_INET;
addr.sin_addr.s_addr = htonl(INADDR_ANY);
addr.sin_port = htons(1234);
bind(sock, (sockaddr*)&addr, addr_len);
while(true)
{
sockaddr_in client_addr;
char buf[1024];
//recieve
int n = recvfrom(sock, buf, 1024, 0,
(sockaddr*)&client_addr, &addr_len);
printf("%d bytes recieved, content: \n%s\n", n, buf);
//reply
std::string reply("you sent: ");
reply += buf; reply += "\nacknowleged\n";
reply+='\0';
printf("reply content is:\n%s ", reply.c_str());
sendto(sock, reply.c_str(), reply.size(), 0,
(sockaddr*)&client_addr, addr_len);
}
}
whoho
2005-01-17
打赏
举报
回复
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
这三个基本够了
tengulre
2005-01-17
打赏
举报
回复
#include <sys/types.h>
#include <sys/socket.h>
tangrh
2005-01-17
打赏
举报
回复
我自己找了篇文章,先把它列出来吧
sys/types.h 必要的类型定义头文件
errno.h 全局错误号头文件
sys/socket.h sockaddr结构,系统函数原型和常数
netdb.h 网络信息查找函数原型和结构
netinet/in.h sockaddr_in结构,字节序宏定义
arpa/inet.h 工具函数原型
tangrh
2005-01-17
打赏
举报
回复
楼上:
你有没有用过epoll?另外你是如何轮询套接字的
Neo_Liu
2005-01-17
打赏
举报
回复
这是我写的一个代理程序引用的头文件
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <sys/time.h>
#include <unistd.h>
#include <netdb.h>
#include <pthread.h>
#include <sys/select.h>
#include <assert.h>
lvis-query-5-pool7-sel-tiny.pth
MQ-Det vision quer提取文件
基于matlab的疲劳语音识别.zip
基于matlab的疲劳语音识别.zip
概率论与数理统计(完整版 理工类 第二版)多媒体教学系统启动文件
《概率论与数理统计》是理工科大学中的一门重要基础课程,它结合了概率论的基本理论与统计学的方法,用于分析和处理随机现象。第二版的完整版多媒体教学系统旨在通过丰富的教学资源和互动体验,帮助学生深入理解和掌握这门学科的核心概念。 一、概率论基础 概率论是研究随机事件及其规律性的数学理论,主要包括以下几个关键概念: 1. 随机试验:概率论的研究对象,如掷骰子、抽卡等。 2. 样本空间:所有可能结果的集合。 3. 事件:样本空间的子集,代表某种特定的结果。 4. 概率:事件发生的可能性,通常介于0和1之间,表示为P(A)。 5. 条件概率:在已知某个事件发生的情况下,另一个事件发生的概率。 6. 乘法法则和加法法则:用于计算两个独立或不独立事件的概率。 二、概率分布 1. 离散概率分布:如二项分布、泊松分布、几何分布、超几何分布等,用于描述离散随机变量的分布情况。 2. 连续概率分布:如均匀分布、正态分布、指数分布等,适用于连续随机变量。 三、统计学基础 1. 参数估计:通过样本数据估计总体参数,如均值、方差等。 2. 抽样分布:统计量在多次重复抽样下的分布情况。 3. 点估计和区间估计:给出参数的一个估计值或一个估计范围。 4. 假设检验:检验关于总体参数的假设是否成立,如t检验、卡方检验、F检验等。 5. 回归分析:研究两个或多个变量间的关系,预测一个变量基于其他变量的值。 四、数理统计方法 1. 最大似然估计:寻找使样本数据出现概率最大的参数估计方法。 2. 矩估计:通过总体矩与样本矩的关系来估计参数。 3. 正态分布的中心极限定理:大量独立随机变量的和近似服从正态分布,即使这些变量本身非正态。 4. 协方差和相关系数:衡量两个随机变量之间线性关系的强度和方向。 5. 方差分析(ANOVA):比较多个组别间的均值差异。 五、多元统计分析 1. 多元正态分布:多维空间中的正态分布,常用于多元线性回归。 2. 判别分析:根据已知分类的样本数据,建立判别函数,对新数据进行分类。 3. 聚类分析:将相似数据分组,揭示数据内在结构。 4. 主成分分析(PCA):降低数据维度,提取主要特征。 六、多媒体教学系统 该教学系统可能包含以下组成部分: 1. 视频讲座:专家讲解理论和例题,直观展示概念。 2. 动画演示:动态模拟随机过程,帮助理解概率模型。 3. 交互式练习:提供习题和答案,实时反馈学习效果。 4. 实验教程:设计数学实验,让学生亲手操作,加深理解。 5. 电子教材:包含文字、图表、案例等丰富内容,便于自主学习。 通过这个多媒体教学系统,学生不仅可以学习到概率论与数理统计的理论知识,还能通过实践应用和互动学习,提升解决实际问题的能力。
实验报告源码与打包文件
实验报告源码与打包文件
Unity实时文字转语音插件RT-Voice
RT-Voice PRO 2020.4.10,作为一款精心设计的Unity插件,旨在简化游戏和应用
程序
中复杂的声音生成流程。其核心价值在于能够流畅地将文本转化为清晰的中文语音,完美适配那些期望赋予文字生命力的项目。不仅如此,其易用性和广泛的语言支持使其成为跨领域开发者的选择。 改插件支持中文转语音 改插件仅供学习使用,如需商用请到官网下载 官网下载地址:https://link.csdn.net/?from_id=128740585&target=https%3A%2F%2Fwww.crosstales.com%2Fen%2Fportfolio%2Frtvoice%2F
Linux/Unix社区
23,215
社区成员
74,540
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章