社区
C语言
帖子详情
请问谁知道用C怎么编一个udp通信程序
fatglasses
2006-05-10 09:41:09
大家知道源码吗??或者介绍一个网站也行哦!!!!急用!!!
...全文
312
10
打赏
收藏
请问谁知道用C怎么编一个udp通信程序
大家知道源码吗??或者介绍一个网站也行哦!!!!急用!!!
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yiliao
2006-05-21
打赏
举报
回复
up
caiyujie87
2006-05-21
打赏
举报
回复
up
fatglasses
2006-05-15
打赏
举报
回复
谢谢哦!!!
jixingzhong
2006-05-11
打赏
举报
回复
论坛中的:
服务器:
#include "stdafx.h"
#include<stdio.h>
#include<Winsock2.h>
#include<string.h>
#pragma comment(lib, "WS2_32.LIB")
void main()
{
char buffrecv[100];
memset(buffrecv,0,100);
SOCKET serversocket;
SOCKET newsocket;
struct sockaddr_in serveraddr;
struct sockaddr_in clientaddr;
WSADATA wsaData;
WSAStartup(MAKEWORD(2,2),&wsaData);
serversocket=socket(AF_INET,SOCK_STREAM,0);
serveraddr.sin_family=AF_INET;
serveraddr.sin_port=htons(5555);
serveraddr.sin_addr.s_addr=htonl(INADDR_ANY);
bind(serversocket,(sockaddr *)&serveraddr,sizeof(struct sockaddr_in));
listen(serversocket,5);
int size=sizeof(struct sockaddr_in);
newsocket=accept(serversocket,(sockaddr *) &clientaddr,&size);
recv(newsocket,buffrecv,100,0);
printf("receive:\n");
printf("%s",buffrecv);
}
客户端:
#include "stdafx.h"
#include<stdio.h>
#include<Winsock2.h>
#include<string.h>
#pragma comment(lib, "WS2_32.LIB")
void main()
{
/*
char buffsend[100];
char *p=buffsend;
for(;((*p)=getchar())!='\n';)
{
p++;
}
p=buffsend;
*/
char buffsend[100]="有只小鸟掉下水";
SOCKET clientsocket;
SOCKADDR_IN serveraddr;
WSADATA wsaData;
WSAStartup(MAKEWORD(2,2),&wsaData);
clientsocket=socket(AF_INET,SOCK_STREAM,0);
Sleep(2000);
if(clientsocket==INVALID_SOCKET)
{
printf("create clientsocket failed\n");
exit(0);
}
serveraddr.sin_family = AF_INET;
serveraddr.sin_port = htons(5555);
serveraddr.sin_addr.s_addr = inet_addr("127.0.0.1");
int result=connect(clientsocket,(SOCKADDR *)&serveraddr,sizeof(serveraddr));
Sleep(2000);
if(result==-1)
{
printf("connect server failed\n");
exit(0);
}
result=send(clientsocket,buffsend,100,0);
if(result==-1)
{
printf("send message failed\n");
}
Sleep(2000);
}
fatglasses
2006-05-10
打赏
举报
回复
谢谢楼上的兄弟!还差一个客户端的程序哦!!!能一起发出来吗??
jiongdy
2006-05-10
打赏
举报
回复
#include<Winsock2.h>
#include<stdio.h>
#define SERVPORT 3333
#define BACKLOG 10
void main()
{int sockfd;
struct sockaddr_in serv_addr;
struct sockaddr_in remote_addr;
//initial
WSADATA wsaData;
if (WSAStartup(MAKEWORD(2,0),&wsaData)!=0)
printf("initial error\n");
else
printf("initial ok\n");
serv_addr.sin_family=AF_INET;
serv_addr.sin_port=htons(SERVPORT);
serv_addr.sin_addr.s_addr=INADDR_ANY;
//serv_addr.sin_addr.s_addr=inet_addr("192.168.1.22");
remote_addr.sin_family=AF_INET;
remote_addr.sin_port=htons(SERVPORT);
//serv_addr.sin_addr.s_addr=INADDR_ANY;
remote_addr.sin_addr.s_addr=inet_addr("192.168.1.150");
//socket
if((sockfd=socket(AF_INET,SOCK_DGRAM,0))==-1)
printf("socket error\n");
else
printf("socket ok\n");
//bind
if(bind(sockfd,(struct sockaddr * )&serv_addr,sizeof(struct sockaddr))<0)
{
printf("bind error\n");
int i;
i=WSAGetLastError ();
printf("i=%d\n",i);
}
else
printf("bind ok\n");
//sendto and recv/测试用
while(1)
{ /*先发送数据*/
if (sendto(sockfd, "Hello, you are connected!\n",
25, 0,(struct sockaddr *)&remote_addr,sizeof(struct sockaddr)) == -1)
printf("sendto error\n");
else
printf("sendto ok\n");
/*再接收数据,若没有数据则阻塞*/
int fromlen=sizeof(struct sockaddr);
char PkMsg[26];
if (recvfrom(sockfd,(char *)&PkMsg,25,0,(struct sockaddr *)&remote_addr,(int *)&fromlen) == -1)
printf("recvfrom error\n");
else
printf("recvfrom ok\n");
printf("%s\n",PkMsg);
}
closesocket(sockfd);
//}
}
zhousqy
2006-05-10
打赏
举报
回复
电子书网上多的是
Mypiger
2006-05-10
打赏
举报
回复
http://msdn.microsoft.com/library/
搜索socket,sendto,recvfrom,bind 就有原代码的了
fatglasses
2006-05-10
打赏
举报
回复
哦!!网上有吗???我不想买书!!!
zichuanxiu
2006-05-10
打赏
举报
回复
建议买本socket编程的书看看,
域密码修改及忘记密码流程系统
域密码修改及忘记密码流程系统说到域大家都并不陌生了,现企业内都有域环境;一般50人以上都会通过域做管理,这样比较方便,做应用也比较方便,总之管理更方便。今天主要介绍不如部署环境内密码修改及遗忘密码流程系统。具体见下:1. 通过自己的需求写代码:1》用户可以通过员工
编
号,查询自己的账户‘2》如果忘记自己的密码,可以通过For...
MySQL8.0忘记密码了如何修改密码
第一步:关闭Mysql服务 首先先停止mysql服务。可通过net stop mysql或者任务管理器中关闭。 以管理员权限操作: 第二步:跳过Mysql密码验证 进入命令提示符(管理员登陆)操作,进入mysql目录中bin文件夹下,mysql8.0与其他版本不同的地方在于无法直接使用mysqld --skip-grant-tables来跳过密码登录。在这我们使用mysqld -console --skip-grant-tables --shared-memory来跳过权限验证。 输入执行后没有反馈,
Linux系统忘记了root密码怎么办?
如何修改root密码修改root密码的方法如果重启后忘记了root密码怎么办? 修改root密码的方法 最常规的方法,当你当前在root用户下的shell中,直接输入passwd,然后两次确认秘密就修改成功了;或者利用输入重定向加管道符直接一条语句修改成功:echo xxxx(密码) | passwd --stdin root 方法一: passwd 方法二:(输入重定向加管道符) ech...
windows10忘记密码,修改密码的解决方法
windows10忘记密码,修改密码的解决方法 windows10忘记开机密码怎么办?使用windows10系统的用户非常多,有不少用户为了安全起见,会给windows10设置本地帐户密码,这样就能防止其他人登录个人电脑。不过密码很容易忘记,如果密码忘记连自己都进不了系统,那么要如何破解windows10密码呢? 一、所需工具 1、可用U盘
一个
,可用电脑一台 2、制作启动盘:uefi pe启动盘制...
mysql忘记密码解决方案及三种方式修改密码
mysql用户分为root用户(超级管理员,拥有所有权限)和普通用户,mysql服务器通过权限表来控制用户对数据库的访问,这些权限表存于root用户下的mysql数据库中。 在使用mysql数据库过程中,往往需要修改密码的操作,下面介绍三种修改密码的方式: 1、使用mysqladmin命令在命令行指定新密码 mysqladmin -u root -p password ‘新密码’...
C语言
70,040
社区成员
243,245
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章