471,593 Members | 1,705 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 471,593 software developers and data experts.

after opening socket, sending data then closing socket 3000 times i get "Only one usage of each socket address"


after opening socket, sending data then closing socket 3000 times i get
"Only one usage of each socket address"

what am i doing wrong? is there some thing else i need to do to free up the
socket after i send data into it?

I simply want to open socket, send data, close socket and have the server
just handle one client thread to recieve connection, recieve data, and close
socket
here is my client:

for(int i=0;i<10000;i++)

{

TcpClient myclient;

myclient = new TcpClient("localhost",8888);

NetworkStream networkStream ;

networkStream = myclient.GetStream();

StreamWriter streamWriter ;

streamWriter = new StreamWriter(networkStream);

string strData = "";

strData += "0\0";

streamWriter.WriteLine(strData);

streamWriter.Flush();

streamWriter.Close() ;

networkStream.Close();

myclient.Close();

int i23 = 23+ 23;

}
here is my server:
using System;

using System.Net.Sockets;

using System.IO ;

public class Echoserver

{

public static void Main()

{

TcpListener tcpListener = new TcpListener(8888);

tcpListener.Start();

Console.WriteLine("Server Started") ;

while(true)

{

Socket socketForClient = tcpListener.AcceptSocket();

try

{

if(socketForClient.Connected)

{

Console.WriteLine("Client connected");

NetworkStream networkStream = new NetworkStream(socketForClient);

StreamReader streamReader = new StreamReader(networkStream);

string line = streamReader.ReadLine();

Console.WriteLine("Read:" +line);

}

socketForClient.Close();

Console.WriteLine("Client disconnected");

}

catch(Exception e)

{

Console.WriteLine(e.ToString()) ;

}

}

}

}


Jul 21 '05 #1
1 3622
Hi Daniel,

I have enocountered the same problem as you. My client application has a
public fuction which does "connect -> send -> close" operation to a remote
listening application. At first, everything seems fine, we even succeeded
sending 10,000 calls from the client application. From the netstat, it shows
that the client ports get recycled very neatly.

However, when we started having multiple client applications connecting to
the same server, problem started. Error message "only one usage of each
socket address" start to appear.

It has been a month since you posted. Is it solved?

Rdgs,
Vin

"Daniel" wrote:

after opening socket, sending data then closing socket 3000 times i get
"Only one usage of each socket address"

what am i doing wrong? is there some thing else i need to do to free up the
socket after i send data into it?

I simply want to open socket, send data, close socket and have the server
just handle one client thread to recieve connection, recieve data, and close
socket
here is my client:

for(int i=0;i<10000;i++)

{

TcpClient myclient;

myclient = new TcpClient("localhost",8888);

NetworkStream networkStream ;

networkStream = myclient.GetStream();

StreamWriter streamWriter ;

streamWriter = new StreamWriter(networkStream);

string strData = "";

strData += "0\0";

streamWriter.WriteLine(strData);

streamWriter.Flush();

streamWriter.Close() ;

networkStream.Close();

myclient.Close();

int i23 = 23+ 23;

}
here is my server:
using System;

using System.Net.Sockets;

using System.IO ;

public class Echoserver

{

public static void Main()

{

TcpListener tcpListener = new TcpListener(8888);

tcpListener.Start();

Console.WriteLine("Server Started") ;

while(true)

{

Socket socketForClient = tcpListener.AcceptSocket();

try

{

if(socketForClient.Connected)

{

Console.WriteLine("Client connected");

NetworkStream networkStream = new NetworkStream(socketForClient);

StreamReader streamReader = new StreamReader(networkStream);

string line = streamReader.ReadLine();

Console.WriteLine("Read:" +line);

}

socketForClient.Close();

Console.WriteLine("Client disconnected");

}

catch(Exception e)

{

Console.WriteLine(e.ToString()) ;

}

}

}

}


Jul 21 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

2 posts views Thread by David Konerding | last post: by
1 post views Thread by Spam sucks | last post: by
8 posts views Thread by Grant Richard | last post: by
reply views Thread by Anwar ali | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.