Hi, I am trying to get a process running root sockets to talk to a regular socket server, ie "sys/socket.h". I want to send an integer, either by sending it directly or by sending it as a char array. in the root client: char str[]="5467" void *buffer; Int_t thesize= sizeof(buffer); sock->SendRaw(buffer, thesize); in the c-socket server: struct sockaddr_in cin; struct sockaddr_in sin; struct hostent *hp; unsigned int *buffer; unsigned int sd, sd_client, addrlen, a; char str[1]; char buf[8]; int z; printf("MBRP(fake):Starting....\n"); memset(&sin,0,sizeof(sin)); sin.sin_family = AF_INET; sin.sin_addr.s_addr = INADDR_ANY; sin.sin_port = htons(PORT); sd = socket(AF_INET,SOCK_STREAM,0) bind(sd,&sin,sizeof(sin) listen(sd,queuesize) while (true) { sd_client = accept(sd,&cin,&addrlen) z = read(sd_client, buf, sizeof buf); printf("MBRP(fake):Read %s from buffer", buf); close (sd_client); } close (sd); My question is, does the root SendRaw fuction work in the same manner as writing (using write) to a c-socket file descriptor. If so why do I receive Read 5467d&`@o from buffer How do I get it to just read the thing I send? it lookslike its reading extra memory, or are root messages padded with root info? cheers Caius ___ ___________________ CAIUS HOWCROFT 01223 711 788 UK 07977 473 937 UK(mobile)
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:35 MET