Olá pessoal, boa noite. 
Estou fazendo uma conexão via socket para transmitir dados para um servidor escrito em C++,
até aí tudo bem, o problema é a forma de transmissão, o exemplo que peguei está usando UDP , mas o servidor lá só aceita de sor TCP.
segue abaixo o trecho principal do código, se alguém puder ajudar com alguma sugestão eu agradeço!
public Form getSucesso() throws IOException {
InputStream is;
if (Sucesso == null) {
// Capturar todos os dados e enviar para o servidor neste ponto
// Se o envio correr bem mostrar tela de sucesso,
// em caso de falha, mostrar tela para refazer envio.
SocketConnection sc = null; // Essa linha esta retornando erro de Exeption NULL !
OutputStream os = sc.openOutputStream();
try {
sc = (SocketConnection) Connector.open("socket://localhost:5000");
} catch (IOException ex) {
ex.printStackTrace();
}
os.write("abbced".getBytes());
os.flush();
os.close();
StringBuffer sb = new StringBuffer();
is = sc.openInputStream();
int c = is.read();
while (c != 1)
{
sb.append((char)c);
c = is.read();
}
Sucesso.append(sb.toString());
Sucesso = new Form("Sucesso", new Item[] { });
Sucesso.addCommand(getExitCommand1());
Sucesso.setCommandListener(this);
// write post-init user code here
}
return Sucesso;
}
Tentei alterar a forma de envio olhando alguns materiais disponiveis na net, mas não consegui acertar a sintaxe correta. 
Qualquer sugestão será muito bem vinda!
Abraços