⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 alarmclient.cpp

📁 一个模拟报警功能的客户端程序
💻 CPP
字号:
#include <iostream.h>
#include <stdio.h>
#include <string.h>
#include "winsock2.h"
#include <windows.h>
#include <conio.h>

#pragma comment(lib, "ws2_32.lib")


#define ALARM_SERVER_IPADDR "192.168.1.13"
#define ALARM_SERVER_PORT 5678

int connect_to_alarm_server(void) {
	cout<<"++connect_to_alarm_server()"<<endl;

	int retval;

	WSADATA wsaData;
	retval=WSAStartup(MAKEWORD(2,0),&wsaData);
	if(retval!=0) {
		cout<<"ERROR: WSAStartup unsuccessful!\n"<<endl;
		return -1;
	}

	sockaddr_in servAddr;
	SOCKET connectskt;

	servAddr.sin_family=AF_INET;
	servAddr.sin_port=htons(ALARM_SERVER_PORT);
	servAddr.sin_addr.s_addr=inet_addr(ALARM_SERVER_IPADDR);

	connectskt=socket(AF_INET,SOCK_STREAM,IPPROTO_IP);
	if(connectskt==INVALID_SOCKET) {
		cout<<"ERROR: create connect socket unsuccessful!"<<endl;
		retval=WSACleanup();
		if(retval==SOCKET_ERROR) {
			cout<<"ERROR: WSACleanup unsuccessful!"<<endl;
		}
		return -1;
	}


	cout<<"Trying to connect to alarm server: "<<ALARM_SERVER_IPADDR<<endl;
	retval=connect(connectskt,(sockaddr *)&servAddr,sizeof(servAddr));
	if(retval==SOCKET_ERROR) {
		cout<<"ERROR: connect unsuccessful!"<<endl;
		closesocket(connectskt);
		WSACleanup();
		return -1;
	}

	cout<<"Connect successful"<<endl;
	return connectskt;
}


int send_data_to_alarm_server(char *sendBuf) {
	cout<<"++send_data_to_alarm_server()"<<endl;

	SOCKET connskt;

	//connect to alarm server
	connskt = connect_to_alarm_server();
	if(connskt == -1) {
		return -1;
	}

	int bytesSend=0;
	int i;
	//send data
	for(i=0; i<100; i++) {
    	bytesSend=send(connskt, sendBuf, strlen(sendBuf),0);
	    cout<<"bytes send: "<<bytesSend<<endl;
		if( bytesSend==SOCKET_ERROR ) {
			cout<<"send error, quiting..."<<endl;
			return -1;
		}
		Sleep(2000);
	}

    closesocket(connskt);
	WSACleanup();
	return 0;
}

int main(void) {
	char *sendBuf = "alarm server test";
	send_data_to_alarm_server(sendBuf);
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -