急问,window下,实现一最简单socket通信,不要界面?

anshetal 2004-12-22 11:49:11
必须至少要包含哪些头文件,只要select,send,recv函数
能用就行。明个急着交差,在此拜托各位了。

解决后立即散发。
...全文
129 2 打赏 收藏 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluestone 2004-12-23
  • 打赏
  • 举报
回复
以下是示例代码,需要自己整理一下。

client:

BYTE acBuff[255];
BYTE acIpAddress[35]=("127.0.0.1");
SOCKADDR_IN Cli;

Cli.sin_addr.s_addr=inet_addr((char*)acIpAddress);

Cli.sin_family=AF_INET;

Cli.sin_port=htons(6000); // port

SOCKET CliSock = socket(AF_INET,SOCK_STREAM,0);

while(connect(CliSock,(SOCKADDR *)&(Cli),sizeof(Cli)))
{

}

int iRecvFlag=recv(CliSock,(char*)acBuff,255,0);
if(SOCKET_ERROR != iRecvFlag)
{
acBuff// data...
}
closesocket(CliSock);
-------------------------------------------------
server:
SOCKET Sock;
SOCKET MsgSock;
SOCKADDR_IN Serv;

Serv.sin_addr.s_addr=inet_addr(TEXT("127.0.0.1"));
Serv.sin_family=AF_INET;
Serv.sin_port=htons(5000);

int iAddlen=sizeof(Serv);

Sock=socket(AF_INET,SOCK_STREAM,0);
bind(Sock,(SOCKADDR*)&Serv,iAddlen);

MsgSock = accept( Sock,(SOCKADDR *)&( Serv ),&( iAddlen ));

recv(MsgSock,acbuff,255,0);

acbuff// data...

closesocket(MsgSock);
closesocket(Sock);

//发送 在MsgSock联接后
send(MsgSock,acBuff,255,0);



HunterForPig 2004-12-23
  • 打赏
  • 举报
回复
客户端:
#pragma comment(lib,"ws2_32.lib")
#include<winsock2.h>
#include<stdio.h>
void main()
{
WSADATA wsaData;
WSAStartup(MAKEWORD(2,2),&wsaData);
SOCKET connSock=socket(AF_INET,SOCK_STREAM,0);
SOCKADDR_IN servAddr;
servAddr.sin_family=AF_INET;
servAddr.sin_port=htons(9878);
servAddr.sin_addr.s_addr=inet_addr("127.0.0.1");

connect(connSock,(SOCKADDR*)&servAddr,sizeof(SOCKADDR_IN));
char buf[11];
recv(connSock,buf,11,0);//连上后,可直接接受信息
printf("%s",buf);
}

服务器端:

#pragma comment(lib,"ws2_32.lib")
#include<winsock2.h>
void main()
{
WSADATA wsaData;
WSAStartup(MAKEWORD(2,2),&wsaData);
SOCKET servSock,cliSock;
SOCKADDR_IN servAddr;
servAddr.sin_family=AF_INET;
servAddr.sin_port=htons(9878);
servAddr.sin_addr.s_addr=htonl(INADDR_ANY);
servSock=socket(AF_INET,SOCK_STREAM,0);
bind(servSock,(SOCKADDR*)&servAddr,sizeof(SOCKADDR_IN));
listen(servSock,5);
while(true)
{
cliSock=accept(servSock,NULL,NULL);//当客户机连接上后就可以直接发信息
send(cliSock,"hello world",11,0);
}
}
内容概要:本文档是《Video for Linux Two API 规范》第0.24版的中文手册,系统性地介绍了V4L2(Video for Linux 2)的核心API及其使用方法。内容涵盖设备打开与关闭、能力查询、视频与音频输入输出管理、调谐器与调制器配置、视频标准选择、用户与扩展控制、数据格式协商、图像裁剪缩放、流控参数设置,以及多种I/O传输方式(如read/write、内存映射、用户指针等)。手册还详细定义了各类图像像素格式(如YUV、RGB、压缩格式)、缓冲区管理机制和ioctl控制接口,并附有编程示例和驱动开发指导,全面支持从基础捕获到高级视频处理的应用开发。; 适合人群:从事Linux平台下音视频驱动或应用程序开发的工程师,尤其是具备C语言基础并熟悉系统级编程的研发人员;适用于1-5年经验的嵌入式、多媒体或驱动开发者。; 使用场景及目标:① 开发基于摄像头、电视卡、视频采集卡等设备的Linux视频应用;② 实现视频采集、格式转换、流媒体传输、overlay叠加显示等功能;③ 调试和优化V4L2兼容硬件的驱动程序;④ 理解并运用ioctl接口进行设备控制与状态查询。; 阅读建议:建议结合实际硬件环境边学边练,优先通过VIDIOC_QUERYCAP确认设备能力,再逐步配置输入源、数据格式与I/O方式;注意各结构体字段的初始化与对齐要求,关注版本变更带来的兼容性问题,可参考附录示例代码进行调试验证。
数据集可视化效果见下方。 【数据集概况】 · 检测类别(中文):[自行车(bicycle), 公交车(bus), 汽车(car), 行人(person), 骑行者(rider), 踏板车(scooter), 卡车(truck)] · 训练集:1334 张 · 验证集:571 张 · 测试集:0 张 · 总计:1905 张 该数据集基于激光雷达点云生成的二维投影图像,真实还原了城市道路复杂交通场景下的多目标检测需求。图像呈现为典型的鸟瞰视角或前视视角的点云密度图,清晰捕捉到包括汽车、卡车、公交车、自行车、踏板车及行人等各类交通参与者在城市街道中的动态分布。数据集聚焦于高密度交通环境下的目标识别,具备高度的现实应用价值,可有效支撑智能交通系统、自动驾驶感知模块及城市安防监控等领域的技术开发。... 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 100 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.6355** mAP50-95 | 0.3557 Precision | 0.6116 Recall | 0.6067 train/box_loss | 1.3609 train/cls_loss | 1.1274 val/box_loss | 1.5101 val/cls_loss | 1.2023 【训练过程分析】 100 轮训练后 mAP50 仅 0.6355,模型收敛不充分。Loss 曲线前期下降后进入平台期,mAP 提升缓慢。mAP50-95 为 0.3557,定位精度同样偏低。 【模型性能评估】 Precision 0.6116、Recall ...

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧