07-22-2005
Please stop making cross posts and bumping up your post. Check the rules:
Quote:
(4) Do not 'bump up' questions if they are not answered promptly. No duplicate or cross-posting and do not report a post where your goal is to get an answer more quickly.
10 More Discussions You Might Find Interesting
1. Programming
Hi all,
I've been trying for hours to figure out how to turn my 2-program (one to send and one to receive) "chat system" using message queues, into a single program where each concurrent component (entity) will both send and receive messages. PLEASE give me a hand with this, I'm starting to... (9 Replies)
Discussion started by: mgchato
9 Replies
2. Solaris
We have message queues created from our ERP system to our tax system via an application api written by the ERP software vendor.
Occasionally when a user does not gracefully exit the ERP application, the message queue hangs. After a few months, this becomes a problem as the queues are all used... (2 Replies)
Discussion started by: MizzGail
2 Replies
3. Linux
how to check the maximun number of message queues in current linux enviornment? is there any command ? (4 Replies)
Discussion started by: princelinux
4 Replies
4. Programming
Hi,
According to my understanding..
When message queues are used, when a process post a message in the queue and if another process reads it from the queue then the queue will be empty unlike shared memory where n number of processess can access the shared memory and still the contents remain... (2 Replies)
Discussion started by: rvan
2 Replies
5. UNIX for Advanced & Expert Users
If I use sockets for IPC, and can easily distribute my applications.
UNIX Message Queues are local to the processor.
As I understand it, Message Queues still incur system call overhead, just like socket calls.
What advantage does a UNIX Message Queue provide versus a TCP or UDP Socket,... (2 Replies)
Discussion started by: zen29sky
2 Replies
6. UNIX for Advanced & Expert Users
#include <sys/ipc.h>
#include <sys/msg.h>
int main()
{
int qid;
int t;
struct msgbuf mesg;
qid=msgget(IPC_PRIVATE,IPC_CREAT);
mesg.mtype=1L;
mesg.mtext=1;
t=msgsnd(qid,&mesg,1,0);
printf("%d",t);
}
the program prints -1 as the result of msgsnd ,which means that msgsnd doesn't... (1 Reply)
Discussion started by: tolkki
1 Replies
7. UNIX for Dummies Questions & Answers
can any body provide a tutorial that explains the concept of message queues in UNIX in great detail (1 Reply)
Discussion started by: asalman.qazi
1 Replies
8. Programming
Hi,
I have searched the forums and could not find a relavant thread discussing my use case, hence the new post.
Basically am trying to pass on work to dummy worker instances from controller which will pass on work to workers (client)
To make use of host capacity, am planning to serialize... (2 Replies)
Discussion started by: matrixmadhan
2 Replies
9. Shell Programming and Scripting
i have an application installed on AIX 5.3 and i have made a script that shutdown a proccesses that exceeded 10000kb of memory usage but i have a problem with cleaning the message queues of these proccesses after shutting them down. Is there any way to clean the message queues for this particular... (8 Replies)
Discussion started by: Portabello
8 Replies
10. UNIX for Advanced & Expert Users
i have a program(C++ Code) that sends/receives information through queue's (Uses MQ)
Is there any UNIX/LINUX tool that calculates the load and performance time for the same.
If not how do i design the program that calculates the performance time.
i know that time.h can be used but it gives... (2 Replies)
Discussion started by: vkca
2 Replies
LEARN ABOUT ULTRIX
sendto
send(2) System Calls Manual send(2)
Name
send, sendto, sendmsg - send a message from a socket
Syntax
#include <sys/types.h>
#include <sys/socket.h>
cc = send(s, msg, len, flags)
int cc, s;
char *msg;
int len, flags;
cc = sendto(s, msg, len, flags, to, tolen)
int cc, s;
char *msg;
int len, flags;
struct sockaddr *to;
int tolen;
cc = sendmsg(s, msg, flags)
int cc, s;
struct msghdr msg[];
int flags;
Description
The and system calls are used to transmit a message to another socket. The system call may be used only when the socket is in a connected
state, while the and system calls may be used at any time.
The address of the target is given by to, with tolen specifying its size. The length of the message is given by len. If the message is
too long to pass atomically through the underlying protocol, the error EMSGSIZE is returned, and the message is not transmitted. If the
address specified in the argument is a broadcast address, the SO_BROADCAST option must be set for broadcasting to succeed.
No indication of failure to deliver is implicit in a Return values of -1 indicate some locally detected errors.
If no messages space is available at the socket to hold the message to be transmitted, normally blocks, unless the socket has been placed
in nonblocking I/O mode. The call can be used to determine when it is possible to send more data.
The flags parameter can be set to MSG_OOB to send out-of-band data on sockets that support this features (for example, SOCK_STREAM).
See for a description of the msghdr structure.
The call returns the number of characters sent, or -1 if an error occurred.
Diagnostics
[EBADF] An invalid descriptor was specified.
[EDESTADDRREQ] A required address was omitted from an operation on a socket.
[EFAULT] An invalid user space address was specified for a parameter.
[EINVAL] An invalid argument length for the message was specified.
[EINTR] The send was interrupted by delivery of a signal.
[ENOTCONN] The socket is not connected.
[ENOTSOCK] The argument s is not a socket.
[EMSGSIZE] The socket requires that messages be sent atomically, and the size of the message to be sent made this impossible.
[EPIPE] A write on a pipe or socket for which there is no process to read the data.
[EWOULDBLOCK] The socket is marked nonblocking, and the requested operation would block.
See Also
recv(2), getsockopt(2), socket(2)
send(2)