| | |
| | | } |
| | | return string(buffer); |
| | | } |
| | | |
| | | string SocketManager::sendOcrMsg(const char* msg) |
| | | { |
| | | WSADATA wsd; |
| | | WSAStartup(MAKEWORD(2, 2), &wsd); |
| | | SOCKET m_SockClient; |
| | | m_SockClient = socket(AF_INET, SOCK_STREAM, 0); |
| | | sockaddr_in clientaddr; |
| | | clientaddr.sin_family = AF_INET; |
| | | clientaddr.sin_port = htons(OCR_PORT); |
| | | clientaddr.sin_addr.S_un.S_addr = inet_addr(ADDR.c_str()); |
| | | |
| | | connect(m_SockClient, (sockaddr*)&clientaddr, sizeof(clientaddr)); |
| | | char buffer[1024]; |
| | | |
| | | int result = send(m_SockClient, msg, strlen(msg), 0); |
| | | if (result < 0) { |
| | | throw string("发送失败"); |
| | | } |
| | | |
| | | int num = recv(m_SockClient, buffer, 1024, 0); |
| | | closesocket(m_SockClient); |
| | | if (num < 0) { |
| | | throw string("未接收到信息"); |
| | | } |
| | | return string(buffer); |
| | | } |