本文整理汇总了C++中TCPSocket::Send方法的典型用法代码示例。如果您正苦于以下问题:C++ TCPSocket::Send方法的具体用法?C++ TCPSocket::Send怎么用?C++ TCPSocket::Send使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TCPSocket
的用法示例。
在下文中一共展示了TCPSocket::Send方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: start
void SocketThread::start()
{
char* json = SocketManager::getInstance()->msgVector.front();
TCPSocket *ts = SocketManager::getInstance()->ts;
ts->Create(AF_INET,SOCK_STREAM,0);
bool iscon=ts->Connect(SocketManager::getInstance()->getAddr(),SocketManager::getInstance()->getPort());
if (iscon)
{
int len = strlen(json);
len = len + 5;
ByteArray *ba = new ByteArray(len);
ba->writeInt(strlen(json));
ba->writeByte(0);
ba->writeString(json);
ts->Send(ba->getByteArray(), len);
} else {
printf("TCPSOCKET ERROR : connect failed!");
}
char* buff;
ts->Recv(buff);
resposeMsg(buff);
}
示例2: main
int main(int argc, char * *argv)
{
console = new Console();
/* Begin your application here. */
int cc_err;
TCPSocket * sock = new TCPSocket();
console->WriteLine("Connecting...");
cc_err = sock->Connect("www.example.com", 80);
if (cc_err == CC_ERR_WOULD_BLOCK)
console->WriteLine("Non-blocking sockets are enabled. Waiting for connection...");
while (sock->State() == SOCKET_STATE_CONNECTING) ;
if (sock->State() != SOCKET_STATE_CONNECTED) {
console->WriteLine("Connection failed.");
return 1;
} else
console->WriteLine("Connection seems OK.");
console->Write("Requesting http://www.example.com/... ");
cc_err = sock->Send("GET / HTTP/1.1\r\nHost: www.example.com\r\n\r\n");
if (cc_err < 1)
console->WriteLine("Failed.");
else
console->WriteLine("OK");
while (sock->State() == SOCKET_STATE_CONNECTED) {
string in;
cc_err = sock->Read(in);
if (cc_err == 0) {
console->WriteLine(in);
break;
} else {
if (cc_err != CC_ERR_WOULD_BLOCK)
console->WriteLine("Read error %d (%s)", cc_err, GetErrorDescription(cc_err));
System::ThreadSleep(10);
}
}
sock->Close();
delete sock;
/* End your application here. */
#ifdef TARGET_OS_WINDOWS
system("pause");
#endif
delete console;
return 0;
}
示例3: main
int main(int argc, char** argv)
{
// use non-default port if provided
if (argc > 1)
*(const_cast<unsigned short*>(&SERVER_PORT)) = atoi(argv[1]);
if (!Init())
{
printf("Failed to initialize.\n");
return 1;
}
// prepare for peer to peer
PeerAuthClientState aPeerAuthClientState;
unsigned short aRequestBufLen = 0;
const void* aRequestBufP = NULL;
// create Auth1Request
Error aError = aPeerAuthClientState.Init(gIdentity, &aRequestBufP, &aRequestBufLen);
printf("PeerAuthClientState::Init: %s.\n", WONErrorToString(aError));
if (aError != Error_Success) return aError;
// connect to server
IPSocket::Address aServerAddress("localhost", SERVER_PORT);
TCPSocket aServerCommSocket;
aError = aServerCommSocket.Open(aServerAddress);
printf("Connecting to server at %s: %s.\n", aServerAddress.GetAddressString().c_str(), WONErrorToString(aError));
if (aError != Error_Success) return aError;
// send Auth1Request
aServerCommSocket.Send(2, &aRequestBufLen);
aServerCommSocket.Send(aRequestBufLen, aRequestBufP);
printf("Sent request.\n");
// receive server response (Auth1Challenge1 or Auth1Complete)
unsigned short aChallenge1BufLen = 0;
aServerCommSocket.Recv(2, &aChallenge1BufLen);
void* aChallenge1BufP = new unsigned char[aChallenge1BufLen];
aServerCommSocket.Recv(aChallenge1BufLen, aChallenge1BufP);
printf("Received server->client challenge.\n");
// process server response:
// if Auth1Complete, we're done
// if Auth1Challenge1, generate Auth1Challenge2
unsigned short aChallenge2BufLen = 0;
const void* aChallenge2BufP = NULL;
aPeerAuthClientState.RecvChallenge1(aChallenge1BufP, aChallenge1BufLen,
&aChallenge2BufP, &aChallenge2BufLen);
printf("PeerAuthClientState::RecvChallenge1: %s.\n", WONErrorToString(aError));
if (aError != Error_Success) return aError;
// send Auth1Challenge2
aServerCommSocket.Send(2, &aChallenge2BufLen);
aServerCommSocket.Send(aChallenge2BufLen, aChallenge2BufP);
printf("Sent client->server challenge.\n");
// receive Auth1Complete
unsigned short aResultBufLen = 0;
aServerCommSocket.Recv(2, &aResultBufLen);
void* aResultBufP = new unsigned char[aResultBufLen];
aServerCommSocket.Recv(aResultBufLen, aResultBufP);
printf("Received result.\n");
// process Auth1Complete
aError = aPeerAuthClientState.RecvResult(aResultBufP, aResultBufLen);
printf("PeerAuthClientState::RecvResult: %s.\n", WONErrorToString(aError));
return aError;
}
示例4: main
int main( int argc, char *argv[] )
{
#ifdef TEST_TCP_SOCKETS
StartWinSock();
TCPSocket listener;
TCPSocket client;
char *localIP = NULL;
GetLocalIP( localIP );
listener.SetIP( localIP );
listener.SetPortNumber( 8000 );
listener.Init();
listener.Listen();
while( !listener.Accept( client ) );
while( true )
{
std::string message;
Prompt( message, "Enter a message" );
NetworkMessage netMessage;
netMessage.msg_.Assign( message.c_str(), message.size() );
client.Send( netMessage );
}
client.Shutdown();
client.Close();
listener.Shutdown();
listener.Close();
CloseWinSock();
#endif
/*
GameControl controller;
try
{
controller.Init();
try
{
controller.Run();
}
catch( BaseErrExcep e )
{
e.Print();
}
controller.Close();
}
catch( BaseErrExcep e )
{
e.Print();
}
*/
FileServer fileServer;
try
{
fileServer.Init();
try
{
fileServer.Run();
}
catch(BaseErrExcep& e)
{
e.Print();
}
fileServer.Close();
}
catch(BaseErrExcep& e)
{
e.Print();
}
printf( "\n Server is closing \n" );
return WaitForInput();
}