2011-05-11 32 views
6

Android ve PC arasında bluetooth aracılığıyla dosya göndermek için küçük bir program yazıyorum. Ben zaten google android sitesinde bluetooth sohbet örneğini okuyun.Android Bluetooth dosya gönderirken sorun

Şu anda, benim versiyon bluetooth üzerinden bir kısa mesaj göndererek gerçekten iyi çalışıyor, ama> = 20 KB etrafında bazı dosyaları, gönderdiğinizde, çalışması duruyor ve aşağıda EOFException atma: Şu

java.io.EOFException at java.io.ObjectInputStream$BlockDataInputStream.readFully(ObjectInputStream.java:2716) 
    at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1665) 
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1340) 
    at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1963) 
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1887) 
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1770) 
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346) 
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:368) 
    at com.test.pcserver.BluetoothServerListener.run(BluetoothServerListener.java:74) 
    at java.lang.Thread.run(Thread.java:636) 

, Android'de

:

// Get the BLuetoothDevice object 
if (BluetoothAdapter.checkBluetoothAddress(address)) { 
    device = mBtAdapter.getRemoteDevice(address); 

     // Get a BluetoothSocket for a connection with the 
    // given BluetoothDevice 
    socket = device .createRfcommSocketToServiceRecord(ProgramConstants.BLUETOOTH_UUID); 
    socket.connect(); 

     out = new ObjectOutputStream(socket.getOutputStream()); 

    // Send it to PC 
    out.writeObject(contentObject); 
    out.flush();   
} 
Burada bluecove-2.1.0

benim ana kodlardır kullanarak PC'de java programı Benim PC de

, okudum:

PC Sürümü, sunucuyu

aksi halde akışı bozulabilir OutputStream

out.close(); 

kızarma sonra eklemem gerekiyor

StreamConnectionNotifier streamConnNotifier = null; 

// Create the service url 
String connectionString = "btspp://localhost:" + ProgramConstants.BLUETOOTH_UUID.toString() 
        + ";name=myappname"; 
// open server url 
streamConnNotifier = (StreamConnectionNotifier) Connector.open(connectionString); 

while (true) { 
    // Wait for client connection 
    StreamConnection connection = streamConnNotifier.acceptAndOpen(); 
    ObjectInputStream in = new ObjectInputStream(connection.openInputStream()); 
    RemoteDevice dev = RemoteDevice.getRemoteDevice(connection); 

    // read string from spp client 
    DataInController data = new DataInController(model); 
    data.processDataIn(in.readObject(), dev.getBluetoothAddress()); 
} 
+0

ProgramConstantlarının değeri nedir.BLUETOOTH_UUID.toString()? – Milhous

+0

Hiç bu işe yaramadı mı? – Jack

+0

Hey, lütfen tam kaynak kodunuzu paylaşabilirsiniz. Şimdiden teşekkürler. – anddev

cevap

İlgili konular