//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET: //ORIGINAL LINE: private void sendToUser(User user, pspsharp.network.proonline.PacketFactory.SceNetAdhocctlPacketBaseS2C packet) throws java.io.IOException private void sendToUser(User user, SceNetAdhocctlPacketBaseS2C packet) { System.IO.Stream os = user.socket.OutputStream; os.Write(packet.Bytes, 0, packet.Bytes.Length); os.Flush(); }
protected internal virtual void friendFinder() { long lastPing = Emulator.Clock.currentTimeMillis(); sbyte[] buffer = new sbyte[1024]; int offset = 0; //if (log.DebugEnabled) { Console.WriteLine("Starting friendFinder"); } friendFinderActive = true; while (!exit_Renamed) { long now = Emulator.Clock.currentTimeMillis(); if (now - lastPing >= pingTimeoutMillis) { lastPing = now; safeSendToMetaServer(new PacketFactory.SceNetAdhocctlPingPacketC2S(this)); } try { int Length = metaSocket.InputStream.read(buffer, offset, buffer.Length - offset); if (Length > 0) { offset += Length; } else if (Length < 0) { // The connection has been closed by the server, try to reconnect... closeConnectionToMetaServer(); connectToMetaServer(); } } catch (SocketTimeoutException) { // Ignore read timeout } catch (IOException e) { Console.WriteLine("friendFinder", e); } if (offset > 0) { if (log.TraceEnabled) { log.trace(string.Format("Received from meta server: OPCODE {0:D}", buffer[0])); } int consumed = 0; SceNetAdhocctlPacketBaseS2C packet = packetFactory.createPacketS2C(this, buffer, offset); if (packet == null) { // Skip the unknown opcode consumed = 1; } else if (offset >= packet.Length) { //if (log.DebugEnabled) { Console.WriteLine(string.Format("Incoming server packet {0}", packet)); } packet.process(); consumed = packet.Length; } if (consumed > 0) { Array.Copy(buffer, consumed, buffer, 0, offset - consumed); offset -= consumed; } } } //if (log.DebugEnabled) { Console.WriteLine("Exiting friendFinder"); } // Be clean, send a disconnect message to the server try { sendToMetaServer(new PacketFactory.SceNetAdhocctlDisconnectPacketC2S(this)); } catch (IOException) { // Ignore error } closeConnectionToMetaServer(); exit_Renamed = false; friendFinderActive = false; }