Problem Socket in c++ Programm hinzuzufügen



  • Hallo,
    ich habe ein Problem, ich möchte gerne das Array Values
    über einen Socket an ein anderes Programm schicken.

    Wie fange ich da an, bzw. was muss ich da machen, wo starte ich am besten?

    Das Programm schaut so aus:
    [code][cpp]
    #include "UrgCtrl.h"
    #include <cstdlib>

    using namespace qrk;
    using namespace std;

    //! main
    int main(int argc, char *argv[])
    {
    const char device[] = "COM4";
    //const char device[] = "/dev/ttyACM0";

    UrgCtrl urg;
    urg.connect(device);
    /* if (! urg.connect(device)) {
    printf("UrgCtrl::connect: %s\n", urg.what());
    getchar();
    exit(1);
    }*/

    // GD ƒRƒ}ƒ“ƒh‚ÅŽw’肳‚ꂽ‰ñ�”‚¾‚¯ƒXƒLƒƒƒ“‚ð�s‚¢�A�o—Í‚·‚é
    enum { CaptureTimes = 1 };
    double values[725];
    for (int i = 0; i < CaptureTimes; ++i)
    {
    long timestamp = 0;
    vector<long> data;

    // Žæ“¾
    int n = urg.capture(data, &timestamp);

    // �o—Í
    // printf("timestamp: %ld\n", timestamp);
    FILE *ziel;
    ziel = fopen("array.txt","w");
    for (int j = 0; j < n; ++j)
    {
    values[j]=data[j];
    fprintf(ziel,"%i",j);
    fprintf(ziel,"%g",values[j]);

    fprintf (ziel,"\n");

    }
    fclose(ziel);
    }
    getchar();
    return 0;
    }
    [code]

    Bin für alle Hilfen dankbar.

    Ben





  • Kann mir jemand sagen, wo der Fehler liegt?

    #include <windows.h>
    #include <winsock.h>
    #include <stdlib.h>
    #include <stdio.h>
    
    int main()
    {
    WSADATA wsa;
    struct sockaddr_in addr;
    int rc;
    int s;
    int senden;
    
    char text[]={"Nachricht"};
    struct sockaddr_in {
    	short int sin_family;
    	unsigned short int sin_port;
    	struct in_addr sin_addr;
    	unsigned char pad[8];
    					};
    
    addr.sin_family = AF_INET;
    addr.sin_port = htons(399);
    addr.sin_addr.s_addr = inet_addr("127.0.0.1");
    
    s = socket(AF_INET,SOCK_STREAM,0);
    
    //rc=connect(s,(SOCKADDR*)&addr,sizeof(SOCKADDR)); 
    
    senden = send(s,text,strlen(text),0);
    
    system("PAUSE");
    return 0;
    }
    

    Der Socket hat immer den Fehlerwert -1. Ich verstehe es nicht ganz.



  • WSAGetLastError() , ich wette, der Port ist belegt.


Anmelden zum Antworten