class TestTcp extends TcpLink; var bool cooldown; var array tttt; var TestObj g1, g2, g3, g4; public function Initialize() { linkMode = MODE_Binary; receiveMode = RMODE_Manual; SetTimer(5.0, true); Log("[TestTcp] Binding port..."); if (BindPort(1234) > 0) { Log("Success!"); } else { Log("Failed! So much for the `TcpLink` :("); return; } Log("[TestTcp] Putting socket in listen mode..."); if (Listen()) { Log("Success!"); } else { Log("Failed right at th finish line! So much for the `TcpLink` :("); } } /* event Timer() { if (linkState == STATE_Initialized) { Log("[TestTcp] STATUS:" @ "Sockets is initialized"); } else if (linkState == STATE_Ready) { Log("[TestTcp] STATUS:" @ "Port bound, ready for activity"); } else if (linkState == STATE_Listening) { Log("[TestTcp] STATUS:" @ "Listening for connections"); } else if (linkState == STATE_Connecting) { Log("[TestTcp] STATUS:" @ "Attempting to connect"); } else if (linkState == STATE_Connected) { Log("[TestTcp] STATUS:" @ "Open and connected"); } else if (linkState == STATE_ListenClosePending) { Log("[TestTcp] STATUS:" @ "Socket in process of closing"); } else if (linkState == STATE_ConnectClosePending) { Log("[TestTcp] STATUS:" @ "Socket in process of closing"); } else if (linkState == STATE_ListenClosing) { Log("[TestTcp] STATUS:" @ "Socket in process of closing"); } else if (linkState == STATE_ConnectClosing) { Log("[TestTcp] STATUS:" @ "Socket in process of closing #2"); } } */ event Tick(float delta) { local TestObj o1, o2, o3, o4; local int i, dataRead, totalRead, iter; local byte data[255]; local string message; if (cooldown) { cooldown = false; return; } if (!IsDataPending()) { return; } dataRead = ReadBinary(255, data); while (dataRead > 0) { iter += 1; totalRead += dataRead; //Log("{" $ dataRead $ "}"); for (i = 0; i < dataRead; i += 1) { //message $= Chr(data[i]); tttt[tttt.length] = data[i]; } if (iter > 100) break; if (dataRead == 255) { dataRead = ReadBinary(255, data); //Log("!{" $ dataRead $ "}!"); } else { cooldown = true; break; } } StopWatch(false); for (i = 0; i < 10000; i += 1) { g1 = new(none, string(i)) class'TestObj'; } StopWatch(true); Log("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); Log("Test run:" @ g1.value); } event Accepted() { Log("[TestTcp] Accepted!"); } event Closed() { Log("[TestTcp] Closed!"); } defaultproperties { }