#include "winsock2.h"
#include "stdio.h"
void main()
{
//加载套接字(winsock)库
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD( 1, 1 ); //版本号为1.1
err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 ) {
return;
}
if ( LOBYTE( wsaData.wVersion ) != 1 ||
HIBYTE( wsaData.wVersion ) != 1 ) {
WSACleanup( );
return;
}
//创建套接字
//注意第二个参数和TCP设置不同
SOCKET sockServer=socket(AF_INET,SOCK_DGRAM,0);
SOCKADDR_IN addrServer; //设置服务器端套接字的地址结构的相关属性
addrServer.sin_addr.S_un.S_addr=htonl(INADDR_ANY); //设置IP
addrServer.sin_family=AF_INET;
addrServer.sin_port=htons(6000); //设置端口号
//将套接字和服务器地址结构绑定
bind(sockServer,(SOCKADDR*)&addrServer,sizeof(SOCKADDR));
SOCKADDR_IN addrClient;
int len=sizeof(SOCKADDR);
char recvBuf[100];
char tempBuf[100];
char sendBuf[100];
while(1)
{
//从客户端接收数据
int result=recvfrom(sockServer,recvBuf,100,0,(SOCKADDR*)&addrClient,&len);
if(result==SOCKET_ERROR)
{
int errCode=WSAGetLastError();
printf("error:%d",errCode);
break; //退出循环
}
else
{
if(recvBuf[0]=='q') //对方请求退出
{
//同样将退出请求发送回去
sendto(sockServer,"q",strlen("q")+1,0,(SOCKADDR*)& addrClient,sizeof(SOCKADDR));
printf("the chat end!");
break;
}
else
{
//将对方发送过来的信息前段加上IP地址进行输出
sprintf(tempBuf,"%s said:%s",inet_ntoa(addrClient.sin_addr),recvBuf);
printf("%s\n",tempBuf);
//将用户的键盘输入发送到对方
printf("pleas input the message:\n");
gets(sendBuf); //得到键盘输入内容
sendto(sockServer,sendBuf,strlen(sendBuf)+1,0,(SOCKADDR*)& addrClient,sizeof(SOCKADDR));
}
}
}
closesocket(sockServer);
WSACleanup();
}
没有合适的资源?快使用搜索试试~ 我知道了~
UDP 聊天软件 套接字
共26个文件
pdb:4个
dsw:2个
exe:2个
5星 · 超过95%的资源 需积分: 9 15 下载量 155 浏览量
2011-07-07
10:31:46
上传
评论
收藏 2.74MB ZIP 举报
温馨提示
用C语言 套接字编写基于UDP的局域网聊天软件,附代码,服务端客户端模式。
资源推荐
资源详情
资源评论
收起资源包目录
udp.zip (26个子文件)
udp
clint
clint.ncb 41KB
clint.opt 53KB
clint.plg 750B
clint.cpp 2KB
clint.dsw 516B
Debug
clint.ilk 182KB
vc60.pdb 76KB
clint.obj 14KB
vc60.idb 137KB
clint.exe 172KB
clint.pch 3.47MB
clint.pdb 353KB
clint.dsp 3KB
serve
serve.plg 750B
serve.dsw 516B
serve.dsp 3KB
serve.opt 48KB
serve.cpp 3KB
Debug
serve.pch 3.47MB
vc60.pdb 76KB
serve.pdb 353KB
serve.exe 172KB
vc60.idb 137KB
serve.obj 14KB
serve.ilk 183KB
serve.ncb 33KB
共 26 条
- 1
资源评论
- qingwenyangguang2013-05-27挺好用的代码,是c语言写的。能运行,值得下载
- cqbigun2012-06-12VC写的,我需要VS2010的
zxl198914
- 粉丝: 2
- 资源: 12
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功