آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

پروژه چت توسط بلوتوث به جای Wifi Chat

Hassan94  10 سال پیش  10 سال پیش
+1 0

من پروژه wifi chat استاد رو تا آخر رفتم ولی هر کاری کردم نتونستم روی دیوایس واقعی تست بگیرم. و تو پروژه هم مجوز اینترنت رو فعال کردم تا برنامه رو بشه تو دیوایس واقعی بالا آورد، ولی برنامه همچنان بدون عملکرد درست! در ضمن آی پی گوشی رو خودم وارد کردم. با کلی روش که میدونستم امتحانش کردم.

میخواستم بدونم چطور میشه به جای آی پی از بلوتوث استفاده کرد. لطفا دقیق توضیح بدید. ممنون

یا اگه میشه با آی پی راش انداخت چطور میشه. باز هم ممنون

 package com.uncocoder.app.wifi_chat;

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.net.Socket;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;


public class WifiChatActivity extends Activity {

private Handler handler = new Handler();
private TextView text;
private EditText input;
private Button btnSend;
private Socket socket;
private DataOutputStream outputStream;
private BufferedReader inputStream;


private boolean searchNetwork() {
log("Connecting...");

String range = "192.168.56.";
for (int i = 1; i <= 255; i++) {
String ip = range + i;
try {
//log("Try IP: " + ip);
socket = new Socket();
socket.connect(new InetSocketAddress(ip, 9000), 10);

log("Connected!");
return true;
}
catch (Exception e) {}
}

return false;
}


private void runChatServer() {
try {
log("Waiting for client...");

ServerSocket serverSocket = new ServerSocket(9000);
socket = serverSocket.accept();

log("A new client Connected!");
}
catch (IOException e) {}
}


@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

text = (TextView) findViewById(R.id.text);
input = (EditText) findViewById(R.id.input);
btnSend = (Button) findViewById(R.id.btnSend);

//server
Thread thread = new Thread(new Runnable() {

@Override
public void run() {
if ( !searchNetwork()) {
runChatServer();
}

try {
outputStream = new DataOutputStream(socket.getOutputStream());
inputStream = new BufferedReader(new InputStreamReader(socket.getInputStream()));
}
catch (IOException e1) {
log("Error: Connection is not stable, exit");
shutdown();
}

while (true) {
try {
String message = inputStream.readLine();
if (message != null) {
log(message);
}
}
catch (IOException e) {}
}
}
});

btnSend.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
if (outputStream == null) {
return;
}

try {
String message = input.getText().toString() + "\n";
outputStream.write(message.getBytes());
}
catch (IOException e) {
e.printStackTrace();
}
}
});

thread.start();
}


private void log(final String message) {
long timestamp = System.currentTimeMillis();
final long time = timestamp % 1000000;

handler.post(new Runnable() {

@Override
public void run() {
text.setText(text.getText() + "\n @" + time + ": " + message);
}
});
}


@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
shutdown();
return true;
}

return super.onKeyDown(keyCode, event);
}


private void shutdown() {
try {
if (socket != null) {
socket.close();
}
}
catch (IOException e) {
e.printStackTrace();
}
System.exit(0);
}
}
0 0
تو تابع searchNetwork به جای ".String range = "192.168.56 بذار ".String range = "192.168.1 (10 سال پیش)
0 0
اگه اینکار رو انجام بدم تو دیوایس واقعی درست میشه، یعنی با دوتا گوشی میشه چت کرد!؟ (10 سال پیش)
0 0
آره روی یک گوشی Hotspot بساز و با گوشی دوم به اون وصل شو اگه اشتباه نکنم این دوتا دسترسی رو هم بخواد (10 سال پیش)
0 0
(10 سال پیش)
0 0
کدوم دوتا دسترسی hotspot , Wifi (10 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
Amir  10 سال پیش
0 0

اگه اشتباه نکنم این دوتا دسترسی رو هم بخواد

  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>

0 0
من این کار رو انجام دادم ولی درست نشدش آی پی رو وارد کردم و دسترسی ها رو گذاشتم ولی ارتباط برقرار نشد. (10 سال پیش)
0 0
پروژه رو روی emulator تست کردی ؟ (10 سال پیش)
0 0
آره ولی رو emulator هم جواب نداد چون آی پی با اون یکی نبود رو گوشی هم تست کردم جواب ندادش دیگه چطوری میشه اینکار رو به ته رسوند! (10 سال پیش)
0 0
منظورم این بود که پروژه استاد رو emulator تست کردی جواب گرفتی؟ (10 سال پیش)
0 0
جواب گرفتم تو em ولی نه با این آی پی که گفتی با اون آی پی که وارد کرده بودم اول "192.168.56." جواب گرفتم ولی رنج آی پی رو عوض کردم دیگه تو em نتونستم ارتباط برقرار کنم.! (10 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .