Foro sobre Java SE > sockets
No entiendo bien que quieres hacer. ¿Quieres hacer lo mismo que ahora que lo haces en una red local pero llamando a un servidor? que estará en internet.
si es eso tienes que publicar tu código VB en un servidor que admita programas en VB. Un hosting de .NET para que puedas llamarlo desde cualquier lugar, y eso no es gratis.
http://www.whoishostingthis.com/compare/visual-studio-.net/
antuansoft
Antes que nada me sorprende la velocidad de respuesta, por lo que doy las gracias.
Osea lo que yo queria es usar mi pc como servidor.
el codigo en vb es facil y simple un socket que escucha por un puerto x.
se declara un ServerSocket con un puerto y un hilo que hace de escucha y tiene un listobox que imprime las palabras que le llegan.
despues tengo un cliente que le envia texto.Hasta ahora todo en vb.net lo probe en en la red de casa y anda.
Despues hice un programa cliente en android con sockets igual que el de vb.net pero en java. No me anda (aplication unfortunatly sttoped). En android hice lo mismo delcare un socket le di la ip de mi pc el puerto.
hasta ahora todo es dentro de la red wifi de casa. mi problema es que quiero darle la ip del modem/router y conectarme desde cualquier lado.
lo que estoy programando es una aplicacion que mediante botones maneje la pc. Subir volumen, bajar volumen, apagar, abrir programas, etc.
Nahuel
Se me olvida, vi el link que pasaste de microsoft, si es pago paso el servidor a java, me parece que debe ser gratis los host de java o no?
Nahuel
Asigna una ip fija a tu pc desde el ruter y hace el direccionamiento del/los puertos que vayas a usar, a esa ip.
Genera un dns dinamico (GRATUITO) con NoIp hacia tu ip publica y listo. Podras acceder desde cualquier lugar del mundo a tu pc a traves de internet Usando el nombre de dominio que que asigne NoIp y el/los puertos que hayas mapeado a tu pc desde el router.
alaguslaz
Como dice @alaguslaz puedes poner tu pc como servidor y tener una ip fija (es probable que tengas que hablar con tu proveedor de internet informate) y a través de un DNS y supongo que un dominio poder ponerlo visible en internet.
Lo que pasa es que tendrás que tener el pc online en todo momento y tener cuidado con que intrusos no accedan a él.
¿Casi mejor un hosting no? pero sí hacerlo se puede hacer.
Si no requieres muchos recursos y para probar Openshift te puede valer
https://www.openshift.com/web-hosting/java?sc_cid=70160000000UJC4AAO&gclid=CLu9ub7Ap8QCFcPKtAodyDkA_Q
antuansoft
Mil gracias me quedo mas que claro.
Lo ultimo y no molesto mas aunque sea para probar en red de area local, si tienen algun ejemplo de conexion android y vb.net
posteo el codigo que uso en vb.net:
Dim tcpClient As New TcpClient
Dim nombre As String = Nothing
Dim comand, accion As String
Dim bandera As Integer = 1
Dim tamaño As Integer = tcpClient.ReceiveBufferSize
i = 10
Dim bytes() As Byte
Dim extencion As String = Nothing
While i <> 0
tcpClient = server.AcceptTcpClient
aa = tcpClient.GetStream
ReDim bytes(tamaño)
aa.Read(bytes, 0, tamaño)
returndata = Encoding.UTF8.GetString(bytes)
ListBox1.Items.Add(returndata)
If returndata <> Nothing Then
comand = returndata.Substring(0, 4)
Else
comand = Nothing
End If
y esto me anda bien lo que no me anda es la aplicacion android con este codigo:
Socket s;
String aaa = "123";
serverIpAddress= text.getText().toString();
try {
s = new Socket(serverIpAddress,6000);
if(s.isConnected()){
text.setText("Bienvenido a google");
}
//PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(s.getOutputStream())),true);
//out.println(aaa);
//InetAddress serverAddr = InetAddress.getByName("10.0.2.15");
//e.setText(InetAddress.getLocalHost().getHostAddress());
// e.setText(e.getText()+" "+InetAddress.getLocalHost().getHostName());
} catch (IOException e1) {
e1.printStackTrace();
}
ovbeamente que yo se cual es el puerto en ambos(pc y celular), y la dir ip(ipv4) introducida en el text box.
desde ya mil gracias!
Nahuel

Buenas, comento que tengo un programa servidor(sockets) echo en visual vb.net, y lo que quiero es hacer un programa en netbeans y en android para mandarle informacion a ese programa.
Lo que realmente quisiera es mandar informacion via internet(no red de area loca) y de forma simple como poner la ip y listo, sin utilizar aplicaciones web ni cosas asi.
En este momento lo que tengo es un programa que envia y recive texto y archivos con sockets en vb.net lo que me deja en una red de area local.
Se agredece