1.实验要求:服务器和多客户端进行通信,服务端显示客户IP地址:学号、姓名、性别、考试成绩。收到学号为end结束通信。
服务端程序
#include<iostream>
#include"winsock2.h"
#include"WS2tcpip.h" //本程序用到地址转换函数inet_pton(),所以要包含该头文件
#include"process.h"
#include<windows.h>
#define PORT 65432 //定义要访问的服务器端口常量
#pragma comment(lib,"ws2_32.lib")
using namespace std;
void tcpsend(void* par);
struct Student {
char sStID[10];
char sName[20];
char sex[10];
int examination;
};
int main()
{
SOCKET sock_server, newsock;
struct sockaddr_in addr, client_addr;
unsigned hThread;
/*初始化winsock DLL*/
WSADATA wsaData;
if (WSAStartup(MAKEWORD(2,2),&wsaData)!=0)
{
cout << "加载winsock.dll失败!\n";
return 0;
}
/*创建套接字*/
// if ((sock_server=socket(AF_INET,SOCK_STREAM,0))==INVALID_SOCKET)
if ((sock_server = socket(AF_INET, SOCK_STREAM, 0)) == SOCKET_ERROR)
{
cout << "创建套接字失败!"<<WSAGetLastError()<<endl;
WSACleanup();
return 0;
}
/*绑定IP端口*/
int addr_len = siz