Click here to Skip to main content
15,923,142 members
Home / Discussions / C#
   

C#

 
GeneralRe: Array question Pin
Julian Bucknall [MSFT]2-Oct-03 6:13
Julian Bucknall [MSFT]2-Oct-03 6:13 
GeneralRe: Array question Pin
Joe Woodbury2-Oct-03 6:40
professionalJoe Woodbury2-Oct-03 6:40 
GeneralInspiration needed - end user form editing Pin
Member 961-Oct-03 6:59
Member 961-Oct-03 6:59 
GeneralRe: Inspiration needed - end user form editing Pin
Michael P Butler2-Oct-03 1:42
Michael P Butler2-Oct-03 1:42 
GeneralRe: Inspiration needed - end user form editing Pin
Member 962-Oct-03 5:05
Member 962-Oct-03 5:05 
Generalremoting event problem Pin
manusha1-Oct-03 5:37
manusha1-Oct-03 5:37 
Generalimporting VB 6.0 into C# project... Pin
Anonymous1-Oct-03 4:47
Anonymous1-Oct-03 4:47 
GeneralGDI+ font and scalable graphics Pin
Member 5506441-Oct-03 2:33
Member 5506441-Oct-03 2:33 
GeneralRe: GDI+ font and scalable graphics Pin
Mazdak1-Oct-03 3:46
Mazdak1-Oct-03 3:46 
GeneralRe: GDI+ font and scalable graphics Pin
Member 5506441-Oct-03 4:03
Member 5506441-Oct-03 4:03 
GeneralRe: GDI+ font and scalable graphics Pin
azusakt1-Oct-03 15:21
azusakt1-Oct-03 15:21 
Generalthreading issue... Pin
profoundwhispers1-Oct-03 0:53
profoundwhispers1-Oct-03 0:53 
GeneralRe: threading issue... Pin
Blake Coverett1-Oct-03 1:50
Blake Coverett1-Oct-03 1:50 
GeneralRe: threading issue... Pin
profoundwhispers1-Oct-03 1:56
profoundwhispers1-Oct-03 1:56 
GeneralRe: threading issue... Pin
Blake Coverett1-Oct-03 8:22
Blake Coverett1-Oct-03 8:22 
GeneralEncryption/Decryption problem Pin
3ddA30-Sep-03 23:50
3ddA30-Sep-03 23:50 
GeneralRe: Encryption/Decryption problem Pin
Julian Bucknall [MSFT]1-Oct-03 5:35
Julian Bucknall [MSFT]1-Oct-03 5:35 
GeneralRe: Encryption/Decryption problem Pin
3ddA1-Oct-03 6:31
3ddA1-Oct-03 6:31 
GeneralRe: Encryption/Decryption problem, prettier code now Pin
3ddA1-Oct-03 7:28
3ddA1-Oct-03 7:28 
GeneralTCP Remote Endpoints Pin
Tatham30-Sep-03 19:50
Tatham30-Sep-03 19:50 
GeneralRe: TCP Remote Endpoints Pin
Blake Coverett1-Oct-03 1:36
Blake Coverett1-Oct-03 1:36 
GeneralRe: TCP Remote Endpoints Pin
Tatham1-Oct-03 4:03
Tatham1-Oct-03 4:03 
GeneralRe: TCP Remote Endpoints Pin
Blake Coverett1-Oct-03 8:25
Blake Coverett1-Oct-03 8:25 
GeneralRe: TCP Remote Endpoints Pin
Tatham2-Oct-03 3:09
Tatham2-Oct-03 3:09 
GeneralRe: TCP Remote Endpoints Pin
Blake Coverett2-Oct-03 8:50
Blake Coverett2-Oct-03 8:50 
I'm glad to hear the problem is solved.

On the merits of TcpListener as a wrapper:

If you look through the source for it (isn't Reflector a wonderful tool) you'll see it's all of about 40 lines of code. Really all it does is wrap Bind/Listen in one method and, create TcpClients around accepted sockets, and translate from one set of exceptions to a different set if you try to accept on a closed socket.

What does this actually really buy, except hiding the real Socket's based programming model? Perhaps the thought is it buy's having TcpClients rather than sockets after the connect, but they don't add any value in a server scenario at all. The only real abstraction they provide is in the Connect process, which isn't used there.

Perhaps what you want is the NetworkStream model for the actual IO. I might argue that too on different grounds, but I won't today. If that's what you want, then then just do a new NetworkStream(listeningSocket.Accept(), true).

Of course, better yet is to use the async Socket.BeginAccept/BeginRead/BeginWrite methods. This is where you'll get scalability.

regards,
-Blake

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.