winsock2.h でこのソケット コードを見つけましたhttp://www.tidytutorials.com/2009/12/c-winsock-example-using-client-server.htmlこれは私のクライアントのコードです。
int hsock;
int * p_int ;
hsock = socket(AF_INET, SOCK_STREAM, 0);
///
char buffer[1024];
int buffer_len = 1024;
int bytecount;
int c;
memset(buffer, '\0', buffer_len);
for(char* p=buffer ; (c=getch())!=13 ; p++){
printf("%c", c);
*p = c;
}
if( (bytecount=send(hsock, buffer, strlen(buffer),0))==SOCKET_ERROR){
サーバーのコードは Qt QTcpServer クラスで行われます:
void FortuneThread::run()
{
QTcpSocket tcpSocket;
if (!tcpSocket.setSocketDescriptor(socketDescriptor)) {
emit error(tcpSocket.error());
cout<<"socket error"<<endl;
return;
}
char buffer[1024];
int buffer_len = 1024;
memset(buffer, 0, buffer_len);
strcat(buffer, " SERVER ECHO");
QByteArray block;
QDataStream out(&block, QIODevice::WriteOnly);
out.setVersion(QDataStream::Qt_4_0);
out << &socketDescriptor;
out << buffer;
out << strlen(buffer);
out << 0;
tcpSocket.write(block);
上記のサーバー コードは、サーバー データとクライアント データを一致させようとして失敗したものです。なにが問題ですか?タイ