2011-11-28 4 views
0

Je socket serveur en Java et maintenant je dois socket TCP simple dans mon application iOS qui:iOS communication simple socket

  • connexion socket ouverte
  • pouvoir envoyer et recevoir des messages
  • Fermer connexion

Donc, seulement les choses de base ... J'ai besoin de la solution la plus simple possible.

J'ai trouvé peu de solutions, mais aucune ne semble fonctionner pour moi. Si vous pouviez me diriger dans la bonne direction, je serais très reconnaissant. J'ai besoin de code avec des instructions.

Merci!

+0

Quand vous dites que vous avez essayé, quelles solutions avez-vous examinées? Je pense que nous préférerions ne pas répéter tout ce que vous avez déjà vu. – Luke

+0

À peu près tout dans les 20 premiers résultats que vous obtenez sur google lorsque vous tapez socket iphone ... Je demande juste si quelqu'un a un exemple de travail qui est compréhensible ... – iblagajic

+0

Je suppose que vous avez essayé [ce tutoriel] (http: // www.raywenderlich.com/3932/how-to-create-a-socket-based-iphone-app-and-server) alors, non? Qu'est-ce qui ne fonctionne pas pour vous? – dasblinkenlight

Répondre

0
package jcolibri.examples.ABXRecommender; 

import java.io.BufferedInputStream; 
import java.io.File; 
import java.io.FileInputStream; 
import java.io.IOException; 
import java.io.OutputStream; 
import java.net.ServerSocket; 
import java.net.Socket; 

public class FileServer { 
public static void main (String [] args) throws IOException { 
    // create socket 
    @SuppressWarnings("resource") 
    ServerSocket servsock = new ServerSocket(13267); 
    while (true) { 

     String str = "temp.png"; 
      File myFile = new File(str); 
      String absolutePathOfFirstFile = myFile.getAbsolutePath(); 
      FileInputStream fis = new FileInputStream(absolutePathOfFirstFile); 

     //File myFile = new File ("temp.png"); 
     //FileInputStream fis = new FileInputStream(myFile); 

     System.out.println("Waiting..."); 
     Socket sock = servsock.accept(); 
     System.out.println("Accepted connection : " + sock); 

     // sendfile 

     byte [] mybytearray = new byte [(int)myFile.length()]; 

     @SuppressWarnings("resource") 
    BufferedInputStream bis = new BufferedInputStream(fis); 
     bis.read(mybytearray,0,mybytearray.length); 
     OutputStream os = sock.getOutputStream(); 
     System.out.println("Sending..."); 
     os.write(mybytearray,0,mybytearray.length); 
     os.flush(); 
     sock.close(); 
     } 
    } 
} 

Ce code est légèrement adapté de quelque part. Je ne me souviens pas où et si cela fonctionne pour moi. Votre code iOS doit connaître l'adresse IP de votre ordinateur.

Espérons que ça aide.