---
title: "Får inte TcpClient att fungera..."
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/59218-får-inte-tcpclient-att-fungera"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Josef"
published: "2002-11-15T21:22:53.000Z"
updated: "2002-11-15T21:33:22.000Z"
replies: 2
views: 279
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/59218-får-inte-tcpclient-att-fungera"
---

# Får inte TcpClient att fungera...

## #1 — Josef, 2002-11-15T21:22Z

Vad är det för fel på den här koden???
"Fel-raden":

```
if (tcpc.Connect("whois.networksolutions.com", 43) != 0)
```

 Och hela koden:

```
using System;
using System.Net.Sockets;
using System.IO;
using System.Text;

namespace Presenting.CSharp
{
	public class WhoisLookup
	{
		public static bool Query(string strDomain, out string strWhoisInfo)
		{
			const int BUFFER_SIZE = 128;

			if ("" == strDomain)
				throw new ArgumentException("You must specify a domain-name.");

			TcpClient tcpc = new TcpClient();
			strWhoisInfo = "N/A";

			if (tcpc.Connect("whois.networksolutions.com", 43) != 0)
				return false;

			Stream s = tcpc.GetStream();

			strDomain += "\r\n";
			Byte[] bDomArr = Encoding.ASCII.GetBytes(strDomain.ToCharArray());
			s.Write(bDomArr, 0, strDomain.Length);

			Byte[] Buffer = new Byte[BUFFER_SIZE];
			StringBuilder strWhoisResponse = new StringBuilder(" ");

			int BytesRead = s.Read(Buffer, 0, BUFFER_SIZE);
			while (BytesRead != 0 )
			{
				strWhoisResponse.Append(Encoding.ASCII.GetString(Buffer, 0, BytesRead));
				BytesRead = s.Read(Buffer, 0, BUFFER_SIZE);
			}

			tcpc.Close();
			strWhoisInfo = strWhoisResponse.ToString();
			return true;
		}
	}
}
```

Och felmeddelandet:

> Operator '!=' cannot be applied to operands of type 'void' and 'int'

 All kod är efter en bok...

Permalänk: https://www.webforum.nu/p/59218

## #2 — SPiN, 2002-11-15T21:31Z

TcpClient() är void och returnerar ingenting, alltså kan du inte jämföra den mot en nolla. Den kastar Exceptions däremot, ArgumentNullException och SocketException. Lägg in allt i ett try/catch-block istället.

```
...
                try {
			TcpClient tcpc = new TcpClient();
			strWhoisInfo = "N/A";

			tcpc.Connect("whois.networksolutions.com", 43)

			Stream s = tcpc.GetStream();

			strDomain += "\r\n";
			Byte[] bDomArr = Encoding.ASCII.GetBytes(strDomain.ToCharArray());
			s.Write(bDomArr, 0, strDomain.Length);

			Byte[] Buffer = new Byte[BUFFER_SIZE];
			StringBuilder strWhoisResponse = new StringBuilder(" ");

			int BytesRead = s.Read(Buffer, 0, BUFFER_SIZE);
			while (BytesRead != 0 )
			{
				strWhoisResponse.Append(Encoding.ASCII.GetString(Buffer, 0, BytesRead));
				BytesRead = s.Read(Buffer, 0, BUFFER_SIZE);
			}

			tcpc.Close();
			strWhoisInfo = strWhoisResponse.ToString();
			return true;
                    }
                    catch( Exception e ) {
                                               // Nåt gick fel
                    }
                    return false;
```

Typ.

Permalänk: https://www.webforum.nu/p/855613

## #3 — Josef, 2002-11-15T21:33Z

Som sagt, det är inte min kod men jag skall prova detta.
Tack :)

Permalänk: https://www.webforum.nu/p/855614

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/59218-får-inte-tcpclient-att-fungera
