-1
我正在研究一個應用程序,我需要建立Android和PC之間的通信以通過Wi-Fi傳輸一些數據。我可以通過無線網絡在兩臺PC之間進行通信。所以PC端的代碼已經準備就緒。我需要一個從Android端使用Wifi的參考。類似於藍牙聊天的內容很有幫助。我能夠掃描Android中存在的Wifi網絡,但無法繼續進行。 乾杯Android和PC之間的Wifi聊天
我正在研究一個應用程序,我需要建立Android和PC之間的通信以通過Wi-Fi傳輸一些數據。我可以通過無線網絡在兩臺PC之間進行通信。所以PC端的代碼已經準備就緒。我需要一個從Android端使用Wifi的參考。類似於藍牙聊天的內容很有幫助。我能夠掃描Android中存在的Wifi網絡,但無法繼續進行。 乾杯Android和PC之間的Wifi聊天
不知道你想達到什麼樣的東西很難做到更具體,但是這個片段會收到一個短暫的數據突發。
DatagramSocket serverSocket = new DatagramSocket(PORTNUMBER);
byte[] receiveData = new byte[50];
DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
serverSocket.setSoTimeout(5000);
serverSocket.receive(receivePacket);
serverSocket.close();
這一個接收文件
private String ReceiveFile() {
try {
ServerSocket socket = new ServerSocket(port);
socket.setSoTimeout(5000);
Socket os = null;
try {
os = socket.accept();
} catch (SocketTimeoutException t) {
if (!socket.isClosed()) socket.close();
return "TIMEOUT";
}
InputStream bos = os.getInputStream();
FileOutputStream fos = new FileOutputStream(FILENAME);
DataOutputStream bw = new DataOutputStream(fos);
int Total = 0;
byte[] buffer = new byte[4096];
int read;
while (true) {
read = bos.read(buffer);
if (read <= 0) break;
bw.write(buffer, 0, read);
Total = Total + read;
}
if (!socket.isClosed()) socket.close();
return "SUCCESS";
} catch (Exception e) {
e.printStackTrace();
return "FAILURE";
}
}
你的問題太模糊。你想在android和PC之間轉換什麼? PC運行什麼操作系統?你需要一個可靠的(TCP)連接還是一個不可靠但快速的(UDP)連接?很難從「PC端」獲取代碼並立即將其用於Android,即使它能夠識別出「沒問題,這個連接來自手機」,也需要進行一些更改。 – Dororo 2012-02-24 13:08:28
雅我需要一個TCP連接。我已經使用TCP建立了PC和藍牙之間的連接。而來自PC端的代碼是一個等待客戶端連接的服務器代碼。我想把我的android作爲客戶端來工作。我正在傳輸簡單協議和圖像等數據。 PC中的操作系統是windows。 – ragz 2012-02-24 13:32:37