#include <WINSOCK2.H>
#include <stdio.h>
#include <iostream.h>
#include <windows.h>
#include <pthread.h>
void main()
{
void* process(void* args);//声明多线程函数
//加载套接字库函数
WORD myVersionRequest;
WSADATA wsaData;
myVersionRequest=MAKEWORD(1,1);
int err;
//调用WSAStartup()后才可以继续进行其它所需的Windows Sockets API调用.
err=WSAStartup(myVersionRequest,&wsaData);
if (!err)//返回值为0表示操作成功
{
cout<<"服务端成功加载套接字!"<<endl;
}
else
{
cout<<"服务端加载套接字失败!"<<endl;
return;
}
//创建套接字
SOCKET serSocket=socket(AF_INET,SOCK_STREAM,0);
//绑定套接字
SOCKADDR_IN addr;
addr.sin_family=AF_INET;//告诉winsock使用的是ip地址族
addr.sin_addr.S_un.S_addr=htonl(INADDR_ANY);//以网络字节序表示的32位ip地址
addr.sin_port=htons(6000);//设置端口号,范围是为0-6000
bind(serSocket,(SOCKADDR*)&addr,sizeof(SOCKADDR));//绑定套接字
listen(serSocket,5);//第二个参数表示能接收的最大连接数为1
cout<<"套接字已绑定,开始进行监听..."<<endl;
//开始进行监听
while(1){
SOCKADDR_IN clientsocket;
int len=sizeof(SOCKADDR);
SOCKET serConn=accept(serSocket,(SOCKADDR*)&clientsocket,&len);
pthread_t t;
pthread_create(&t,NULL,process,&serConn);
cout<<"创建线程"<<t.x<<endl;
pthread_join(t,NULL);
closesocket(serConn);//关闭
cout<<"线程"<<t.x<<"结束"<<endl<<endl;
}
}
void* process(void* args)
{
SOCKET serConn = (*(SOCKET*)args);
char sendBuf[100];
SYSTEMTIME sys;
GetLocalTime( &sys );
//处理连接
printf("当前服务端系统时间:%d年%d月%d日%d时%d分%d秒\n",sys.wYear,sys.wMonth,sys.wDay,sys.wHour,sys.wMinute,sys.wSecond);//显示服务端系统时间
sprintf(sendBuf,"接受到的服务端系统时间:%d年%d月%d日%d时%d分%d秒",sys.wYear,sys.wMonth,sys.wDay,sys.wHour,sys.wMinute,sys.wSecond);//发送服务端系统时间
send(serConn,sendBuf,strlen(sendBuf)+1,0);//+1是因为字符串自动在结尾加上"\0",否则会显示烫烫烫烫烫烫烫烫
char receiveBuf[100];//接收
recv(serConn,receiveBuf,strlen(receiveBuf)+1,0);
cout<<receiveBuf<<endl;
closesocket(serConn);//关闭
pthread_exit(NULL);//线程推出
return NULL;
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
.zip (38个子文件)
client
Debug
client.obj 14KB
client.ilk 204KB
vc60.pdb 84KB
client.exe 176KB
vc60.idb 153KB
client.pdb 553KB
client.pch 3.56MB
client.opt 49KB
client.dsw 537B
client.cpp 1KB
client.plg 748B
client.ncb 41KB
client.dsp 3KB
multithreaded server
multithreaded server.plg 1KB
multithreaded server.opt 48KB
Debug
vc60.pdb 92KB
server.sbr 0B
vc60.idb 153KB
multithreaded server.pch 4.68MB
pthreadVCE2.dll 61KB
pthreadVC2.dll 55KB
multithreaded server.exe 200KB
multithreaded server.pdb 513KB
server.obj 21KB
pthreadVSE2.dll 56KB
pthreadGC2.dll 117KB
pthreadGCE2.dll 119KB
multithreaded server.bsc 1.92MB
multithreaded server.ilk 258KB
multithreaded server.dsw 565B
pthreadVCE2.dll 61KB
pthreadVC2.dll 55KB
multithreaded server.ncb 49KB
server.cpp 2KB
pthreadVSE2.dll 56KB
pthreadGC2.dll 117KB
pthreadGCE2.dll 119KB
multithreaded server.dsp 4KB
共 38 条
- 1
资源评论
普通网友
- 粉丝: 0
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功