最后更新:2022-04-18 22:54:28 手机定位技术交流文章
UDP通讯端代码1
#include "myhead.h"
int udpsock;
//线程的任务函数
void *mysendmsg(void *arg)
{
char rbuf[100];
struct sockaddr_in addr;
bzero(&addr,sizeof(addr));
addr.sin_family=AF_INET;
我不知道你在说什么,阿尔德,我不知道你在说什么,sin_addr.s_addr=inet_addr (”);// 彼此的ip
我不知道你指的是什么, Ardr.sin_port=htons(200);//其他港口号。
while(1)
{
bzero(rbuf,100);
你在这里做什么? "你在这里做什么?" ""你""在这里""你"在这里做什么?""你""你"在这里""你"在这里""你"做什么" "你""
scanf("%s",rbuf);
sendto(udpsock,rbuf,strlen(rbuf),0,(struct sockaddr *)&addr,sizeof(addr));
}
}
int main(int argc,char **argv)
{
int ret;
char sbuf[100];
pthread_t id;
指定 IPv4 处理需要 IP 和 端口号约束的正文变量。
struct sockaddr_in bindaddr;
bzero(&bindaddr,sizeof(bindaddr));
bindaddr.sin_family=AF_INET;
我不知道你在说什么,sin_addr.s_addr=htonl(INADR_ANY);//Auto 匹配发件人的ip
我不确定 Binnddr. sin_port=htons (300);// 发送端口号
/ 保存 IPv4 地址的 IP 地址和 IP 端口号 。
struct sockaddr_in otheraddr;
bzero(&otheraddr,sizeof(otheraddr));
int addrsize=sizeof(otheraddr);
做一个乌龟套接字
udpsock=socket(AF_INET,SOCK_DGRAM,0);
if(udpsock==-1)
{
校对:Portnoy
return -1;
}
消除港口约束性限制
int on=1;
setsockopt(udpsock,SOL_SOCKET,SO_REUSEADDR,&on,sizeof(on));
//绑定
ret=bind(udpsock,(struct sockaddr *)&bindaddr,sizeof(bindaddr));
if(ret==-1)
{
""
return -1;
}
/ 创建一条发送信件的线索。
pthread_create(&id,NULL,mysendmsg,NULL);
//接收信息
while(1)
{
bzero(sbuf,100);
recvfrom(udpsock,sbuf,100,0,(struct sockaddr *)&otheraddr,&addrsize);
prentf (“ip 地址:%s 端口号 :%hu 发送了消息 :%sn”, inet_ontoa (otheraddr.) 我不确定您指的是什么, sin_addr), nthohs (otheraddr.sbuf, (sin_port);
}
//关闭
close(udpsock);
return 0;
}
UDP通讯端代码2
#include "myhead.h"
int udpsock;
//线程的任务函数
void *myrecvmsg(void *arg)
{
char rbuf[100];
while(1)
{
bzero(rbuf,100);
recvfrom(udpsock,rbuf,100,0,NULL,NULL);
“我收到了以下信息:%sn,rbuf”;
}
}
int main(int argc,char **argv)
{
int ret;
char sbuf[100];
pthread_t id;
指定 IPv4 处理需要 IP 和 端口号约束的正文变量。
struct sockaddr_in bindaddr;
bzero(&bindaddr,sizeof(bindaddr));
bindaddr.sin_family=AF_INET;
我不知道你在说什么,sin_addr.s_addr=htonl(INADR_ANY);//Auto 匹配发件人的ip
我不确定 Binnddr. sin_port=htons (200) // 传送端口号 。
/ 保存 IPv4 地址的 IP 地址和 IP 端口号 。
struct sockaddr_in otheraddr;
bzero(&otheraddr,sizeof(otheraddr));
otheraddr.sin_family=AF_INET;
我不知道你在说什么,其他的。 我不知道你在说什么,sin_addr.s_addr=inet_addr(”);
我不知道你的意思,其他addr.sin_port=htons(300);//目标主机端口号
做一个乌龟套接字
udpsock=socket(AF_INET,SOCK_DGRAM,0);
if(udpsock==-1)
{
校对:Portnoy
return -1;
}
消除港口约束性限制
int on=1;
setsockopt(udpsock,SOL_SOCKET,SO_REUSEADDR,&on,sizeof(on));
//绑定
ret=bind(udpsock,(struct sockaddr *)&bindaddr,sizeof(bindaddr));
if(ret==-1)
{
""
return -1;
}
/ 创建接收信息的线索。
pthread_create(&id,NULL,myrecvmsg,NULL);
/ 向不同的主机发送信息
while(1)
{
bzero(sbuf,100);
你在这里做什么? "你在这里做什么?" ""你""在这里""你"在这里做什么?""你""你"在这里""你"在这里""你"做什么" "你""
scanf("%s",sbuf);
sendto(udpsock,sbuf,strlen(sbuf),0,(struct sockaddr *)&otheraddr,sizeof(otheraddr));
}
//关闭
close(udpsock);
return 0;
}
本文由 在线网速测试 整理编辑,转载请注明出处。