JohnDoe
moep ja das mit dem port hat sich erledigt mehr oder weniger ... jetzt hab ichn neues problem
wenn ich ein file verschicke kommt es nicht an bzw. kann nicht geöffnet werden (bsp. *.jpg) hab mir den bytestream mal angeschaut und feststellen müssen, dass der schickende client bytes (z.b. 8212) verschickt, die nicht ankommen, stattdessen kommt ein anders byte an(z.B. 20)
wie kann das sein, vor allem scheint es erst bei einer bestimmten höhe des bytes zu passieren ...ich schreibe mal den letzten teil der beiden bytestreams hier hin:
gesendet / bekommen
252 252
70 70
205 205
63 63
8226 34 <---
8225 33 <---
60 60
44 44
247 247
217 217
14 14
175 175
8212 20 <---
170 170
61 61
92 92
339 83 <---
58 58
165 165
216 216
114 114
71 71
237 237
223 223
237 237
109 109
17 17
80 80
254 254
48 48
10 10
57 57
183 183
111 111
255 255
217 217
-1 -1
die funktionen sehen so aus(es sind jetzt keine try und catch drinne für hanfling):
//outgoing
Socket sock = serverSock.accept();
File dat = new File(client.filename);
FileReader fr = new FileReader(dat);
OutputStream out = sock.getOutputStream();
int c = 0;
while(c != -1)
{
c = fr.read();
if(c != -1) out.write(c);
System.out.println(c);
}
client.filename = "";
client.targetUser = "";
client.msgOrFile.select("Message");
fr.close();
sock.close();
serverSock.close();
//incoming
int port = Integer.parseInt(client.inPort);
Socket sock = new Socket(client.peerServer, port);
System.out.println("peer established!");
InputStream in = sock.getInputStream();
InputStreamReader inRead = new InputStreamReader(in);
File dat = new File("downloads\\"+client.reqFile);
FileWriter fw = new FileWriter(dat);
int c = 0;
while(c != -1)
{
c = inRead.read();
if(c != -1) fw.write(c);
//fileBuffer.append((char)c);
System.out.println(c);
}
//System.out.println(fileBuffer.toString());
//fileBuffer.setLength(0);
fw.close();
sock.close();
Bitte um HILFE
thx
wenn ich ein file verschicke kommt es nicht an bzw. kann nicht geöffnet werden (bsp. *.jpg) hab mir den bytestream mal angeschaut und feststellen müssen, dass der schickende client bytes (z.b. 8212) verschickt, die nicht ankommen, stattdessen kommt ein anders byte an(z.B. 20)
wie kann das sein, vor allem scheint es erst bei einer bestimmten höhe des bytes zu passieren ...ich schreibe mal den letzten teil der beiden bytestreams hier hin:gesendet / bekommen
252 252
70 70
205 205
63 63
8226 34 <---
8225 33 <---
60 60
44 44
247 247
217 217
14 14
175 175
8212 20 <---
170 170
61 61
92 92
339 83 <---
58 58
165 165
216 216
114 114
71 71
237 237
223 223
237 237
109 109
17 17
80 80
254 254
48 48
10 10
57 57
183 183
111 111
255 255
217 217
-1 -1
die funktionen sehen so aus(es sind jetzt keine try und catch drinne für hanfling):
//outgoing
Socket sock = serverSock.accept();
File dat = new File(client.filename);
FileReader fr = new FileReader(dat);
OutputStream out = sock.getOutputStream();
int c = 0;
while(c != -1)
{
c = fr.read();
if(c != -1) out.write(c);
System.out.println(c);
}
client.filename = "";
client.targetUser = "";
client.msgOrFile.select("Message");
fr.close();
sock.close();
serverSock.close();
//incoming
int port = Integer.parseInt(client.inPort);
Socket sock = new Socket(client.peerServer, port);
System.out.println("peer established!");
InputStream in = sock.getInputStream();
InputStreamReader inRead = new InputStreamReader(in);
File dat = new File("downloads\\"+client.reqFile);
FileWriter fw = new FileWriter(dat);
int c = 0;
while(c != -1)
{
c = inRead.read();
if(c != -1) fw.write(c);
//fileBuffer.append((char)c);
System.out.println(c);
}
//System.out.println(fileBuffer.toString());
//fileBuffer.setLength(0);
fw.close();
sock.close();
Bitte um HILFE
thx