( foofighter | 2010. 09. 24., p – 09:32 )

Mi a helyzet a DCC 1024 bájt-nál behal hibával. Az 1024 bájtot becsülettel kiküldi, (egy linuxos chattel, mint fogadóval teszteltem). Tehát:

Kézfogás megtörtént:

> SYN,
< SYN-ACK
> ACK

Adatküldés:
> PSH,ACK (1024 bájt) // sent = send (sok, buf, 1024, 0);
< ACK
< PSH,ACK (4 bájt) (0x00000400) // send (dcc->sok, (char *) &pos, 4, 0);
> ACK

ÉS vége...

dcc.c:1467

Hmm...


n = recv (dcc->sok, buf, sizeof (buf), 0);
		if (n < 1)
		{
			if (n < 0)
			{
				if (would_block ())
				{
					if (need_ack)
						dcc_send_ack (dcc);
					return TRUE;
				}
			}
			EMIT_SIGNAL (XP_TE_DCCRECVERR, dcc->serv->front_session, dcc->file,
							 dcc->destfile, dcc->nick,
							 errorstring ((n < 0) ? sock_error () : 0), 0);
			/* send ack here? but the socket is dead */
			/*if (need_ack)
				dcc_send_ack (dcc);*/
			dcc_close (dcc, STAT_FAILED, FALSE);
			return TRUE;
		} 

Újabb bugocska:

Egy háromgigás fájlt akarok elküldeni ezt írja ki:

Cannot send directories or empty files.

hmmm... az st.st_size signed int?