- From: Thomas Dreibholz <dreibh AT exp-math.uni-essen.de>
- To: "Oon Heok Kee" <oonheokkee78 AT hotmail.com>, discussion AT sctp.de
- Subject: Re: [SCTP-Discussion] Multi-streams
- Date: Fri Aug 30 13:52:00 2002
- List-id: SCTP Discussions <discussion.sctp.de>
- Organization: University of Essen, Institute for Experimental Mathematics
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Am Freitag, 30. August 2002 13:26 schrieb Oon Heok Kee:
>
Hi,
>
>
I'm trying to run my echo program on multi-stream.
>
>
Based on the captures from Ethereal, the client is able to request for
>
multiple in and out streams in the INIT chunk. But the INIT ACK chunk from
>
the host is always requesting for only 1 in and 1 out. I tried putting the
>
struct sctp_initmsg in the server program, but it didn't work either. How
>
do I get the server program to respond with the requested number of streams
>
by the client?
Have you used the SCTP_INITMSG socket option before calling accept() on the
server side? When accept() returns, the SCTP association is already
established with the current in/out streams settings. Therefore, setting
SCTP_INITMSG has no effect after accept(). Recommendation: Set SCTP_INITMSG
directly after binding the socket using ext_bind() or ext_bindx().
>
>
From previous examples, I see that sendmsg() had only been sending the
>
things stated in struct msghdr. Suppose I have a string "This is to be
>
sent" to go from the client to the server and back. Do I just add the size
>
of this string to the buffers and also "echoString = (char *)(cmsg + 2);",
>
so that's it's sent together in msg?
User data and control structures are separated in the msghdr structure:
msg_iov for user data and msg_control for control structures. To send your
string, you have to specifiy it in msg_iov, not in the control part (cmsg
above)!
Example:
struct iovec iov[1];
struct msghdr msg;
...
echoString = This is to be sent";
iov[0].iov_base = echoString;
iov[0].iov_len = strlen(echoString); <- Length of string
msg.msg_iov = &iov;
msg.msg_iovlen = 1; <- One entry in iovec array!
Best regards
- --
=======================================================================
Dipl.-Inform. Thomas Dreibholz
University of Essen, Room ES210
Inst. for Experimental Mathematics Ellernstraße 29
Computer Networking Technology Group D-45326 Essen/Germany
- -----------------------------------------------------------------------
E-Mail:
dreibh AT exp-math.uni-essen.de
Homepage:
http://www.exp-math.uni-essen.de/~dreibh
=======================================================================
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see
http://www.gnupg.org
iD8DBQE9b14632BbsHYPLWURAr2JAJ0WrecukxjgynZ57L+aayj2La1jYACeIx8B
gyPzNq506XZRBCIMel4V/GI=
=ptkl
-----END PGP SIGNATURE-----
Archive powered by MHonArc 2.6.19+.