没有合适的资源?快使用搜索试试~ 我知道了~
B.7基于套接口复用的聊天室系统
5星 · 超过95%的资源 需积分: 9 13 下载量 85 浏览量
2015-01-22
22:19:58
上传
评论
收藏 5KB TXT 举报
温馨提示
试读
7页
广西科技大学网络程序设计实验代码 B.7基于套接口复用的聊天室系统
资源推荐
资源详情
资源评论
//服务器
#pragma comment(lib, "ws2_32.lib")
#include <winsock2.h>
#include <stdio.h>
int main()
{
WSADATA wsaData;
if (WSAStartup(MAKEWORD(2,2),&wsaData)!=0)
{
return -1;
}
SOCKET ListenSocket;
ListenSocket = socket(AF_INET,SOCK_STREAM,0);
if (ListenSocket == INVALID_SOCKET)
{
printf("Error at socket(): %ld\n", WSAGetLastError());
WSACleanup();
return -1;
}
sockaddr_in service;
service.sin_family=AF_INET;
service.sin_port=htons(27015);
service.sin_addr.s_addr=inet_addr("127.0.0.1");
if (bind(ListenSocket,(SOCKADDR*)&service, sizeof(service))==SOCKET_ERROR)
{
printf("bind() failed: %ld\n", WSAGetLastError());
closesocket(ListenSocket);
WSACleanup();
return -1;
}
#pragma comment(lib, "ws2_32.lib")
#include <winsock2.h>
#include <stdio.h>
int main()
{
WSADATA wsaData;
if (WSAStartup(MAKEWORD(2,2),&wsaData)!=0)
{
return -1;
}
SOCKET ListenSocket;
ListenSocket = socket(AF_INET,SOCK_STREAM,0);
if (ListenSocket == INVALID_SOCKET)
{
printf("Error at socket(): %ld\n", WSAGetLastError());
WSACleanup();
return -1;
}
sockaddr_in service;
service.sin_family=AF_INET;
service.sin_port=htons(27015);
service.sin_addr.s_addr=inet_addr("127.0.0.1");
if (bind(ListenSocket,(SOCKADDR*)&service, sizeof(service))==SOCKET_ERROR)
{
printf("bind() failed: %ld\n", WSAGetLastError());
closesocket(ListenSocket);
WSACleanup();
return -1;
}
if (listen(ListenSocket,5)==SOCKET_ERROR)
{
printf("listen() failed: %ld\n",WSAGetLastError());
closesocket(ListenSocket);
WSACleanup();
return -1;
}
SOCKET client[FD_SETSIZE-1];
for(int i=0;i<FD_SETSIZE;i++)
{
client[i] =INVALID_SOCKET;
}
fd_set rset,allset;
FD_ZERO(&allset);
FD_SET(ListenSocket,&allset);
#define MSG_MAX_SIZE 1024
char buf[FD_SETSIZE-1][MSG_MAX_SIZE];
for(;;)
{
rset=allset;
int ret=select(0,&rset,NULL,NULL,NULL);
if (ret == SOCKET_ERROR)
{
printf("select() failed: %ld\n",WSAGetLastError());
break;
}
if (ret==0)
{
continue;
}
{
printf("listen() failed: %ld\n",WSAGetLastError());
closesocket(ListenSocket);
WSACleanup();
return -1;
}
SOCKET client[FD_SETSIZE-1];
for(int i=0;i<FD_SETSIZE;i++)
{
client[i] =INVALID_SOCKET;
}
fd_set rset,allset;
FD_ZERO(&allset);
FD_SET(ListenSocket,&allset);
#define MSG_MAX_SIZE 1024
char buf[FD_SETSIZE-1][MSG_MAX_SIZE];
for(;;)
{
rset=allset;
int ret=select(0,&rset,NULL,NULL,NULL);
if (ret == SOCKET_ERROR)
{
printf("select() failed: %ld\n",WSAGetLastError());
break;
}
if (ret==0)
{
continue;
}
剩余6页未读,继续阅读
资源评论
- xingguangzhijian172016-03-02资源不错,解决了我的问题
科大向阳
- 粉丝: 8
- 资源: 16
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功