من میخواستم یه عکس رو از طریق سوکت tcp از اندروید استودیو به basic4android و basic4java ارسال کنم... کدهای ارسال رو از اندروید استودیو نوشتم و درست کار میکنه و درون بسیک هم برای دریافت درست کار میکنه ولی یه مشکلی که دارم اینه که اندروید استودیو فایل ارسالی رو به چندتا بخش که هر دفعه تعداد بخش ها فرق میکنه تقسیم میکنه و تو چند مرحله ارسال میکنه.. الان مشکلم همینجاست که تو چند مرحله ارسال میکنه و توی بسیک چجوری باید این بخش هارو بگیرم که تا اخر فایل رو دریافت کنم ؟ و اینکه هر جوری هم از اندروید استودیو ارسال میکنم توی این رویداد دریافت میشه :
Sub stream_NewData (Buffer()AsByte)EndSub
راهی هم هست که موقع ارسال از طریق اندروید استودیو ، توی بسیک از طریق این رویداد دریافت بشه ؟
Sub stream_NewStream (DirAsString,FileNameAsString)EndSub
اینم کدهای ارسال در اندروید استودیو هست:
import android.os.Handlerimport java.io.*import java.net.Socketimport java.net.UnknownHostExceptionclass clientThread:Thread(){private var ip1:String=""private var port1:Int=5private lateinit var handler:Handler
var writer :PrintWriter?= null
var dos:DataOutputStream?=null
override fun run(){
super.run()try{
val socket =Socket(ip1, port1)if(socket.isConnected){
handler.sendMessage(handler.obtainMessage(0,"connected"))Thread{
val output = socket?.getOutputStream()
dos=DataOutputStream(output)
writer =PrintWriter(output!!,true)
val input = socket?.getInputStream()
val buffer=ByteArray(1024)
val res=ByteArrayOutputStream(1024)try{while(true){
val read = input.read(buffer)if(read ==-1){break}
res.write(buffer,0, read)
handler.sendMessage(
handler.obtainMessage(0,
socket.isConnected.toString()+ res.toString("UTF-8")))}}catch(e:IOException){System.out.println(e)
socket.close()
input.close()
writer?.close()}}.start()}}catch(u:UnknownHostException){System.out.println(u)}catch(i:IOException){System.out.println(i)}}
fun setHandler(handler:Handler){this.handler = handler
}
fun config(ip:String,port:Int){
ip1=ip
port1=port
}
fun sendMessage(out:ByteArray){
dos!!.write(out)
dos!!.flush()}
override fun destroy(){}}
سوال
hamed_ghorbani 61
سلام خسته نباشید
من میخواستم یه عکس رو از طریق سوکت tcp از اندروید استودیو به basic4android و basic4java ارسال کنم... کدهای ارسال رو از اندروید استودیو نوشتم و درست کار میکنه و درون بسیک هم برای دریافت درست کار میکنه ولی یه مشکلی که دارم اینه که اندروید استودیو فایل ارسالی رو به چندتا بخش که هر دفعه تعداد بخش ها فرق میکنه تقسیم میکنه و تو چند مرحله ارسال میکنه.. الان مشکلم همینجاست که تو چند مرحله ارسال میکنه و توی بسیک چجوری باید این بخش هارو بگیرم که تا اخر فایل رو دریافت کنم ؟ و اینکه هر جوری هم از اندروید استودیو ارسال میکنم توی این رویداد دریافت میشه :
راهی هم هست که موقع ارسال از طریق اندروید استودیو ، توی بسیک از طریق این رویداد دریافت بشه ؟
اینم کدهای ارسال در اندروید استودیو هست:
لینک ارسال
به اشتراک گذاری در سایت های دیگر
1 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.