📄 alarmclient.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 + -