Sponsored Content
Full Discussion: Help with sockets in C
Top Forums Programming Help with sockets in C Post 302510096 by omega666 on Friday 1st of April 2011 02:00:15 PM
Old 04-01-2011
since my data can have >0 \n should i just change it to

Code:
int pos=0; 
bzero(buffer,MAXDATASIZE);  // Stop once we have an entire single line 
while((buffer[pos] != '\0') && (pos < MAXDATASIZE)) {        
     // Put new data 'pos' bytes ahead, so we don't overwrite the old        
     ssize_t b=read(socket_fd, buffer+pos, 1);         
     if(b > 0) pos+=b;         
     else break; // b<=0 means socket closed or socket error, so give up. 
}

?

actualy it makes sense, everytime the reading is incomplete, it only read uptil the first \n character...
 

10 More Discussions You Might Find Interesting

1. Programming

sockets...

Hi ! I had a verry simple question to ask... In unix when we create pipes.. the unnamed pipes that is... is there any way to access those pipes outside the code ? Another thing.. do sockets have an entry in the inode table ? TIA, Devyani. (1 Reply)
Discussion started by: devy8
1 Replies

2. Programming

Sockets!?!?!?!?!?!

I am looking for a way to have a program listen on a port (example: 8000) for communication I will be sending via that port to it(Linux Kernel machine). Once it recieves an appropiate command I need it to run a .bat file in linux. I know what I need to do but I am running into a few problems:... (8 Replies)
Discussion started by: bigB8210
8 Replies

3. Programming

sockets

Hai, How cani declare socket and collect the data in a string varialbe. Since i am new to this i am asking this. Can we connect multiple port. Thank you. (6 Replies)
Discussion started by: arunkumar_mca
6 Replies

4. UNIX for Dummies Questions & Answers

sockets

how do i mointor how many sockets are opened from a particular foriegn address? (2 Replies)
Discussion started by: kirpond
2 Replies

5. Solaris

Sockets in use

Is there a way to see what sockets are in use? The developers here are getting some defunct processes and they would like to get a socket list. This is on a Solaris 8 machine. Thanks! (1 Reply)
Discussion started by: kjbaumann
1 Replies

6. IP Networking

sockets and firewall

Is it possible to trace the packages and the statuses of client's and/or server's sockets by the UNIX network administrative tools? Two applications interact via sockets. There is no problem if they stay in the same network segment. If their hosts connected through the firewall then they aren't... (4 Replies)
Discussion started by: gogogo
4 Replies

7. Programming

need help with sockets

anyone and teach me how to save standard output to a file in a client/server socket. I know how to read them to the screen but i'm not quite sure how to save them to a file. my read to screen file code: memset(line, 0x0, LINE_ARRAY_SIZE); while (recv(connectSocket, line, MAX_MSG, 0) >... (1 Reply)
Discussion started by: crunchyuser
1 Replies

8. Programming

Sockets

Hi,i now moved into a different section where i need to use sockets. i am completely nill in sockets. can some body please provide me what are the requirements for a socket. to use sockets in c. thanks (1 Reply)
Discussion started by: MrUser
1 Replies

9. Red Hat

Sockets

hai guys, I'm doing a project in which one server communicates with several clients. How can i do it when i have different port numbers???:confused: (0 Replies)
Discussion started by: rajeshb6
0 Replies

10. Programming

Any example about sockets in C++?

Hi, i am student, think learning about c++, someone has a example the how establish a conection with sockets :b::b: (1 Reply)
Discussion started by: mmartinez
1 Replies
ldns(3) 						     Library Functions Manual							   ldns(3)

NAME
ldns_wire2rr, ldns_wire2pkt, ldns_wire2rdf, ldns_wire2dname SYNOPSIS
#include <stdint.h> #include <stdbool.h> #include <ldns/ldns.h> ldns_status ldns_wire2rr(ldns_rr **rr, const uint8_t *wire, size_t max, size_t *pos, ldns_pkt_section section); ldns_status ldns_wire2pkt(ldns_pkt **packet, const uint8_t *data, size_t len); ldns_status ldns_wire2rdf(ldns_rr *rr, const uint8_t *wire, size_t max, size_t *pos); ldns_status ldns_wire2dname(ldns_rdf **dname, const uint8_t *wire, size_t max, size_t *pos); DESCRIPTION
ldns_wire2rr() converts the data on the uint8_t bytearray (in wire format) to a DNS resource record. This function will initialize and allocate memory space for the rr structure. The length of the wiredata of this rr is added to the *pos value. rr: pointer to the structure to hold the rdata value wire: pointer to the buffer with the data max: the length of the data buffer (in bytes) pos: the position of the rr in the buffer (ie. the number of bytes from the start of the buffer) section: the section in the packet the rr is meant for Returns LDNS_STATUS_OK if everything succeeds, error otherwise ldns_wire2pkt() converts the data on the uint8_t bytearray (in wire format) to a DNS packet. This function will initialize and allocate memory space for the packet structure. packet: pointer to the structure to hold the packet data: pointer to the buffer with the data len: the length of the data buffer (in bytes) Returns LDNS_STATUS_OK if everything succeeds, error otherwise ldns_wire2rdf() converts the data on the uint8_t bytearray (in wire format) to DNS rdata fields, and adds them to the list of rdfs of the given rr. This function will initialize and allocate memory space for the dname structures. The length of the wiredata of these rdfs is added to the *pos value. All rdfs belonging to the RR are read; the rr should have no rdfs yet. An error is returned if the format cannot be parsed. rr: pointer to the ldns_rr structure to hold the rdata value wire: pointer to the buffer with the data max: the length of the data buffer (in bytes) pos: the position of the rdf in the buffer (ie. the number of bytes from the start of the buffer) Returns LDNS_STATUS_OK if everything succeeds, error otherwise ldns_wire2dname() converts the data on the uint8_t bytearray (in wire format) to a DNS dname rdata field. This function will initialize and allocate memory space for the dname structure. The length of the wiredata of this rdf is added to the *pos value. dname: pointer to the structure to hold the rdata value wire: pointer to the buffer with the data max: the length of the data buffer (in bytes) pos: the position of the rdf in the buffer (ie. the number of bytes from the start of the buffer) Returns LDNS_STATUS_OK if everything succeeds, error otherwise AUTHOR
The ldns team at NLnet Labs. Which consists out of Jelte Jansen and Miek Gieben. REPORTING BUGS
Please report bugs to ldns-team@nlnetlabs.nl or in our bugzilla at http://www.nlnetlabs.nl/bugs/index.html COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs. Licensed under the BSD License. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. SEE ALSO
ldns_rr2wire, ldns_pkt2wire, ldns_rdf2wire, ldns_dname2wire. And perldoc Net::DNS, RFC1034, RFC1035, RFC4033, RFC4034 and RFC4035. REMARKS
This manpage was automaticly generated from the ldns source code by use of Doxygen and some perl. 30 May 2006 ldns(3)
All times are GMT -4. The time now is 01:47 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy