02-03-2015
Problem and question with TCP
Hi guys , i write this message for a doubt, a time ago i wrote a client/server program with TCP/IP in Linux. When i tested the program flooding the server with messages of 1024 bytes (Or 1025 bytes i dont remember exactly the number but was more that 1000 bytes) in certain point a message was received truncated blocking the program because the while(recv) never completed the 1024 characters count. I avoided this problem making the messages more shorter (i don't remember 200 bytes i guess) but i know that is not ok. Now i must develop a very strong connection (avoiding so much as posible the lost of messages) and i need understand why this happened and how avoid this problem. Maybe the net was oversaturated in that moment when i tested my program and a part of the message was lost but this is not a excuse. My question is ¿There is some protocol that avoid the lost packages (i know that tcp does the best effort for send the message but i saw how a message or part of it came truncated more than once) or either very strong or I must develop a protocol for this?
I read about Reno TCP and TCP Vega but really i dont know how use it.
Thank you very much
10 More Discussions You Might Find Interesting
1. IP Networking
I am trying to connect via DBACCESS and Informix server to a server on a different computer. When I execute the connect command from dbaccess I get the following message,
Exec format error cannot bind a name to the port.
As far as I know the port is not being used by another client.
How... (1 Reply)
Discussion started by: lopez
1 Replies
2. IP Networking
Hi Eveyone,
I have A small problems maybe some one can help me. I'm running a small network at home with internet access. Two PC's have Win XP and one has Win98se. I have them all hook up on a SMC router. ALL windows firewall are off and and harddrive sharing is on. I am using DCHP network... (3 Replies)
Discussion started by: Peterh
3 Replies
3. Solaris
I am running a Java Client on Solaris 9 which communicates with the Server using TCP/IP.
The client transmits a FIN packet to server. The server sends a ACK, FIN enters LAST_ACK state and then waits for ACK from client. The client did not respond back leaving the server in LAST_ACK itself. Also... (0 Replies)
Discussion started by: diarun
0 Replies
4. Programming
There is a server and a client,when client send a message to server,server can send a reply to client. The status of server and client is ESTABLISHED.Then I halt the client,I find the server status is CLOSE_WAIT and the client status is FIN_WAIT_2. Many minutes passed,I find the the server status... (1 Reply)
Discussion started by: konvalo
1 Replies
5. Programming
Greetings!
I am attempting to write a *basic* network client in C. I have manage to create a socket but I have doubts as far as using AF_INET vs AF_UNIX.
At the present time, my client runs with AF_INET. Is AF_UNIX faster across hosts using the same OS flavor (Red Hat)? What is the difference... (1 Reply)
Discussion started by: Alan Christen
1 Replies
6. Red Hat
how the data from disk is loaded into memory and then it transfered to tcp/ip packet.
how i can find how many pages are loaded into memory by that process
what is the rate of context switch for that process. (5 Replies)
Discussion started by: amar20
5 Replies
7. Shell Programming and Scripting
how the data from disk is loaded into memory and then it supplied to tcp/ip packet.
how i can trace the no of pages loaded in memory by that process and rate of context switch for that process. (1 Reply)
Discussion started by: amar20
1 Replies
8. Programming
Hello @ all,
I hope you can give me some advice :b:
I will be following code for a tcp server and doStuff () function, the
clients treated. From some point, I have several identical
clients (zombies, I think), the same records in the database
write. Has anyone an explanation? What can I... (1 Reply)
Discussion started by: yumos
1 Replies
9. IP Networking
Hello all.
This is my first post and thank you for your forum.
Here is my question.
I have a simple setup at home and I was capturing some data with wireshark.
Data between a workstation and the web server, requesting a page.
Simple enough.
Now when I open wireshark, I apply the TCP... (4 Replies)
Discussion started by: squaresphere
4 Replies
10. UNIX for Advanced & Expert Users
Hi all.
I have a really really weird problem that I've been working on for days.
The problem manifested as users cannot connect to our web servers via SSH when they're using our wireless network. Here's where it gets weird:
- Clients from anywhere other than the wireless subnet can... (4 Replies)
Discussion started by: pileofrogs
4 Replies
LEARN ABOUT DEBIAN
smtp-source
SMTP-SOURCE(1) General Commands Manual SMTP-SOURCE(1)
NAME
smtp-source - multi-threaded SMTP/LMTP test generator
SYNOPSIS
smtp-source [options] [inet:]host[:port]
smtp-source [options] unix:pathname
DESCRIPTION
smtp-source connects to the named host and TCP port (default: port 25) and sends one or more messages to it, either sequentially or in par-
allel. The program speaks either SMTP (default) or LMTP. Connections can be made to UNIX-domain and IPv4 or IPv6 servers. IPv4 and IPv6
are the default.
Note: this is an unsupported test program. No attempt is made to maintain compatibility between successive versions.
Arguments:
-4 Connect to the server with IPv4. This option has no effect when Postfix is built without IPv6 support.
-6 Connect to the server with IPv6. This option is not available when Postfix is built without IPv6 support.
-A Don't abort when the server sends something other than the expected positive reply code.
-c Display a running counter that is incremented each time an SMTP DATA command completes.
-C count
When a host sends RESET instead of SYN|ACK, try count times before giving up. The default count is 1. Specify a larger count in
order to work around a problem with TCP/IP stacks that send RESET when the listen queue is full.
-d Don't disconnect after sending a message; send the next message over the same connection.
-f from
Use the specified sender address (default: <foo@myhostname>).
-F file
Send the pre-formatted message header and body in the specified file, while prepending '.' before lines that begin with '.', and
while appending CRLF after each line.
-l length
Send length bytes as message payload. The length does not include message headers.
-L Speak LMTP rather than SMTP.
-m message_count
Send the specified number of messages (default: 1).
-M myhostname
Use the specified hostname or [address] in the HELO command and in the default sender and recipient addresses, instead of the
machine hostname.
-N Prepend a non-repeating sequence number to each recipient address. This avoids the artificial 100% hit rate in the resolve and re-
write client caches and exercises the trivial-rewrite daemon, better approximating Postfix performance under real-life work-loads.
-o Old mode: don't send HELO, and don't send message headers.
-r recipient_count
Send the specified number of recipients per transaction (default: 1). Recipient names are generated by prepending a number to the
recipient address.
-R interval
Wait for a random period of time 0 <= n <= interval between messages. Suspending one thread does not affect other delivery threads.
-s session_count
Run the specified number of SMTP sessions in parallel (default: 1).
-S subject
Send mail with the named subject line (default: none).
-t to Use the specified recipient address (default: <foo@myhostname>).
-T windowsize
Override the default TCP window size. To work around broken TCP window scaling implementations, specify a value > 0 and < 65536.
-v Make the program more verbose, for debugging purposes.
-w interval
Wait a fixed time between messages. Suspending one thread does not affect other delivery threads.
[inet:]host[:port]
Connect via TCP to host host, port port. The default port is smtp.
unix:pathname
Connect to the UNIX-domain socket at pathname.
BUGS
No SMTP command pipelining support.
SEE ALSO
smtp-sink(1), SMTP/LMTP message dump
LICENSE
The Secure Mailer license must be distributed with this software.
AUTHOR(S)
Wietse Venema
IBM T.J. Watson Research
P.O. Box 704
Yorktown Heights, NY 10598, USA
SMTP-SOURCE(1)