本文整理汇总了C++中TcpServer::receive方法的典型用法代码示例。如果您正苦于以下问题:C++ TcpServer::receive方法的具体用法?C++ TcpServer::receive怎么用?C++ TcpServer::receive使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TcpServer
的用法示例。
在下文中一共展示了TcpServer::receive方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: readMatrixFromClient
void readMatrixFromClient (TcpServer& server, matrix& inMatrix) {
inMatrix.clear();
int numberOfColumns, numberOfRows;
sprintf (sendingBuffer, "Number of Rows:");
server.send (sendingBuffer);
server.receive (receivingBuffer, textLength);
numberOfRows = atoi (receivingBuffer);
sprintf (sendingBuffer, "Number of Columns:");
server.send (sendingBuffer);
server.receive (receivingBuffer, textLength);
numberOfColumns = atoi (receivingBuffer);
for (int i = 0; i < numberOfRows; i++) {
inMatrix.push_back(row());
for (int j = 0; j < numberOfColumns; j++){
sprintf (sendingBuffer, "Element (%d, %d):", i+1, j+1);
server.send (sendingBuffer);
server.receive (receivingBuffer, textLength);
inMatrix[i].push_back(atoi(receivingBuffer));
}
}
}
示例2: main
int main(int argc, char** argv) {
receivingBuffer = sendingBuffer = new char[512];
matrix firstMatrix, secondMatrix;
TcpServer server;
if (!server.bind (atoi(argv[1]))){
return 0;
}
if (!server.listenAndAccept()){
return 0;
}
sendMenu(server);
server.receive (receivingBuffer, textLength);
int operationOption = atoi (receivingBuffer);
if ((operationOption != 1) && (operationOption != 2) && (operationOption != 3) && (operationOption != 4)){
sprintf (sendingBuffer, "Invalid Option.\n");
server.send (sendingBuffer);
return 0;
}
matrix result;
if (operationOption != 4){
sprintf (sendingBuffer, "\nFirst Matrix:\n");
server.send (sendingBuffer);
readMatrixFromClient (server, firstMatrix);
sprintf (sendingBuffer, "\nFirst Matrix:\n");
server.send (sendingBuffer);
printMatrixToBuffer (firstMatrix);
server.send (sendingBuffer);
sprintf (sendingBuffer, "\nSecond Matrix:\n");
server.send (sendingBuffer);
readMatrixFromClient (server, secondMatrix);
sprintf (sendingBuffer, "\nSecond Matrix:\n");
server.send (sendingBuffer);
printMatrixToBuffer (secondMatrix);
server.send (sendingBuffer);
switch (operationOption){
case 1:
if ((firstMatrix.size() != secondMatrix.size()) || (firstMatrix[0].size() != secondMatrix[0].size())){
sprintf (sendingBuffer, "Dimensions don't match. Operation canceled.\n");
server.send (sendingBuffer);
return 0;
}
result = addition (firstMatrix, secondMatrix);
break;
case 2:
if ((firstMatrix.size() != secondMatrix.size()) || (firstMatrix[0].size() != secondMatrix[0].size())){
sprintf (sendingBuffer, "Dimensions don't match. Operation canceled.\n");
server.send (sendingBuffer);
return 0;
}
result = subtraction (firstMatrix, secondMatrix);
break;
case 3:
if (firstMatrix[0].size() != secondMatrix.size()){
sprintf (sendingBuffer, "Dimensions don't match. Operation canceled.\n");
server.send (sendingBuffer);
return 0;
}
result = multiplation (firstMatrix, secondMatrix);
break;
}
}
else {
sprintf (sendingBuffer, "\nMatrix:\n");
server.send (sendingBuffer);
readMatrixFromClient (server, firstMatrix);
sprintf (sendingBuffer, "\nMatrix:\n");
server.send (sendingBuffer);
printMatrixToBuffer (firstMatrix);
server.send (sendingBuffer);
result = transpose (firstMatrix);
}
sprintf (sendingBuffer, "\nResulting Matrix:\n");
server.send (sendingBuffer);
printMatrixToBuffer (result);
server.send (sendingBuffer);
delete[] sendingBuffer;
//.........这里部分代码省略.........