---
title: "Problem med sockets"
type: "forum-thread"
url: "https://www.webforum.nu/amne/java/102834-problem-med-sockets"
topic: "Java"
topic_url: "https://www.webforum.nu/amne/java"
author: "Wahlenberg"
published: "2004-05-03T16:02:17.000Z"
updated: "2004-05-29T12:13:03.000Z"
replies: 6
views: 409
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/java/102834-problem-med-sockets"
---

# Problem med sockets

## #1 — Wahlenberg, 2004-05-03T16:02Z

Hej. Jag har problem med en ganska enkel sak. Att skicka en PublikKey över en socket. Av någon anledning funkar det inte.
 Socket clientSocket = new Socket("127.0.0.1", 8000);
DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream());

Jag försöker därefter skicka en Byte\[\] array som en string mha:
outToServer.writeBytes(clientPubKeyEnc.toString());
På andra sidan socketen öppnar jag socketen:
Socket connectionSocket = welcomeSocket.accept();            BufferedReader inFromClient = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream()));

Jag försöker sedan läsa in det som ska vara skickat med:
 String clientPubKeyString = inFromClient.readLine();
Men det är här något går snett: Prövar jag att println(clientPubKeyString) så får jag inget resultat.
Om jag försöker println("jag nådde hit") ger heller ingen output.
Helt enkelt så exekveras inte  
String clientPubKeyString = inFromClient.readLine(); .
Någon som ser vad jag gjort för fel?
tack!

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

## #2 — spango, 2004-05-03T22:52Z

Jag är trött och kan ha fel, men det kan vara att du inte spolar utdatan från avsändaren. Lägg till ett anrop till outToServer.flush() efter att du anropat writeBytes.

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

## #3 — Lime, 2004-05-04T07:01Z

Jag skulle iofs använda en BufferedWriter i sändarändan också och inte bara en DOS om nödvändigt vill skicka en sträng.

Sedan misstänker jag att när du gör toString() så lägger den inte till någon newline i slutet för \\n finns inte i clientPubKeyEnc (eller) och BufferedReader.readLine() läser tills den hittar \\n eller \\0.

Fast... strängar i java ska ju vara null-terminerade.

Gör som Spango säger...- ;-)

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

## #4 — spango, 2004-05-04T09:35Z

> **Lime skrev:**
>
> Fast... strängar i java ska ju vara null-terminerade.

Uhm, det behöver de väl inte alls vara?

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

## #5 — Lime, 2004-05-04T14:50Z

Nej, jag konstaterade det jag med. Om man t.ex. skickar in en Byte\[\] som inte har ett nulltecken sist så blir den inte null-terminerad.

readLine() söker efter något av \\n \\r eller \\0. Kan vara därför det inte tas emot något.

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

## #6 — spango, 2004-05-04T15:41Z

Låter hysteriskt rimligt.

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

## #7 — The_Hulk, 2004-05-29T12:13Z

Av någon underlig anledning har det betydelse om man först gör getOutputStream eller getInputStream, kommer tyvärr inte ihåg i vilken ordning man ska göra det. gör man det i fel ordning hänger programmet sig det första stället av get....Stream

Hade själv problem med det, satt några timmar utan att hitta felet sen var det någon som frågade om jag testat ett byta på de två raderna och så fugnerade det.

hoppas du förstår vad jag menar. säg gärna till om det hjälper.

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

---

Tråden på webben: https://www.webforum.nu/amne/java/102834-problem-med-sockets
