基于UDP的socket编程 c udp网络编程
#include
#include
struct pointindex
{
int firstDemension;
int secondDemension;
int thirdDemension;
int forthDemension;
int value;
char fileName[10];
};
typedef struct pointindex PointIndex;
BOOL InitWinsock();
void main()
{
SOCKET socket1;
InitWinsock();
int length=sizeof(PointIndex);
struct sockaddr_in local;
struct sockaddr_in from;
int fromlen =sizeof(from);
local.sin_family=AF_INET;
local.sin_port=htons(1000); ///监听端口
local.sin_addr.s_addr=inet_addr("192.168.1.102");///本机
socket1=socket(AF_INET,SOCK_DGRAM,0);
bind(socket1,(struct sockaddr*)&local,sizeoflocal);
char buffer[60]={0};
while (1)
{
printf("Recieve message: ");
if(recvfrom(socket1,buffer,length,0,(structsockaddr*)&from,&fromlen)!=SOCKET_ERROR)
{
PointIndex*ptest = (PointIndex *)buffer;
printf("%sn",buffer);
printf("Sendmessage : ");
gets(buffer);
sendto(socket1,buffer,length,0,(structsockaddr*)&from,fromlen);
}
Sleep(500);
}closesocket(socket1);
}BOOL InitWinsock()
{
int Error;
WORD VersionRequested;
WSADATA WsaData;
VersionRequested=MAKEWORD(2,2);
Error=WSAStartup(VersionRequested,&WsaData);//启动WinSock2
if(Error!=0)
{
return FALSE;
}
else
{
if(LOBYTE(WsaData.wVersion)!=2||HIBYTE(WsaData.wHighVersion)!=2)
{
WSACleanup();
returnFALSE;
}}
return TRUE;
}
//client端的程序#include
#include
#include
struct pointindex
{
int firstDemension;
int secondDemension;
int thirdDemension;
int forthDemension;
int value;
char fileName[10];
};
typedef struct pointindex PointIndex;
BOOL InitWinsock();
void main()
{
int length=0;
SOCKET socket1;
PointIndex point;
InitWinsock();
struct sockaddr_in server;
int len =sizeof(server);
server.sin_family=AF_INET;
server.sin_port=htons(1000);///server的监听端口
server.sin_addr.s_addr=inet_addr("192.168.1.102");///server的地址
socket1=socket(AF_INET,SOCK_DGRAM,0);
while (1)
{
point.firstDemension=1;
point.secondDemension=2;
point.thirdDemension=3;
point.forthDemension=4;
point.value=0;
strcpy(point.fileName,"test");PointIndex *ppoint =&point;
length=sizeof(PointIndex);
char *buffer =(char*)(ppoint);
printf("Send message: ");
gets(buffer);if(sendto(socket1,buffer,length,0,(structsockaddr*)&server,len)!=SOCKET_ERROR)
{
if(recvfrom(socket1,buffer,length,0,(structsockaddr*)&server,&len)!=SOCKET_ERROR)
printf("Recievemessage : %sn",buffer);
}
}
closesocket(socket1);
}BOOL InitWinsock()
{
int Error;
WORD VersionRequested;
WSADATA WsaData;
VersionRequested=MAKEWORD(2,2);
Error=WSAStartup(VersionRequested,&WsaData);//启动WinSock2
if(Error!=0)
{
return FALSE;
}
else
{
if(LOBYTE(WsaData.wVersion)!=2||HIBYTE(WsaData.wHighVersion)!=2)
{
WSACleanup();
returnFALSE;
}}
return TRUE;
}
更多阅读
移动的wlan怎么用 CMCC网络怎么用 cmcc wlan 密码
移动的wlan怎么用 CMCC网络怎么用——简介现如今无线网络的覆盖面积越来越大,人们越来越感觉无线网络连接的重要性。当我们使用手机或者笔记本电脑开启WLAN开关的时候,如果可以搜索到CMCC网络的信号,我们是可以通过连接到CMCC网络来无
转载 我的20年流行歌曲的回忆:2000—2008网络时代之一
原文地址:我的20年流行歌曲的回忆:2000—2008网络时代之一作者:天下吾师进入新时代以来,流行乐坛开始复苏(但远远无法与极盛时期相提并论),主要表现在:歌星更多,风格更多样,创作者众多。这一时期,世俗力量参与进来,网络音乐逐渐盛行,影视歌曲衰
基于udp的网络编程socket的错误10054与SOCKET的发送与接收缓冲区 socket接收缓冲区大小
哎!长叹一声!今天上班很鬼火,被老板骂了一顿,严重的打击了我的自信!哎,鬼火啊,到今天下班以前,才把任务完成了一点点。明天要继续努力哦!总结今天碰到的问题。首先:今天在做一个视频转发器,用vlc播放器推视频流,通过转发器然后发送到另外一个pc,
基于 ARM 的远程视频监控系统 乐橙远程视频监控系统
这些天参考网上的代码,完成了这个嵌入式远程视频监控系统。系统组成:USB 视频采集模块、数据处理模块、视频播放模块。其中 USB 视频采集模块要解决两个问题,一个是摄像头驱动问题,另一个就是怎么样用 v4l 采集数据的问题。数据处理模块
基于标准的课程设计:开发表现性评价
朱伟强* 崔允漷**摘 要:国家颁布的课程标准,作为一种政策力量,规范着课程的实践。新课程提出了建立发展性评价的理念,课程设计和教学实践要求用评价来促进学习,评价设计先于教学实施。本文主要讨论设计基于标准的课程需要思考的第二个问