🙂 İNSANLARIN EN HAYIRLISI INSANLARA FAYDALI OLANDIR 🙂

Ramazan HABER / Android RMOS / Client socket

1-) Android RMOS - Client socket

 

kaynak : https://stackoverflow.com/questions/5893911/android-client-socket-how-to-read-data

 

1-) Android RMOS - NetClient.java

 

package com.example.ramazan.myapplication;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;

public class NetClient {

    
/**
     * Maximum size of buffer
     */
    
public static final int BUFFER_SIZE = 2048;
    
private Socket socket = null;
    
private PrintWriter out = null;
    
private BufferedReader in = null;

    
private String host = null;
    
private int port = 7999;


    
/**
     * Constructor with Host, Port and MAC Address
     *
@param host
     
* @param port
     
*/
    
public NetClient(String host, int port) {
        
this.host = host;
        
this.port = port;
    }

    
private void connectWithServer() {
        
try {
            
if (socket == null) {
                
socket = new Socket(this.host, this.port);
                
out = new PrintWriter(socket.getOutputStream());
                
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
            }
        }
catch (IOException e) {
            e.printStackTrace();
        }
    }

    
private void disConnectWithServer() {
        
if (socket != null) {
            
if (socket.isConnected()) {
                
try {
                    
in.close();
                    
out.close();
                    
socket.close();
                }
catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }

    
public void sendDataWithString(String message) {
        
if (message != null) {
            connectWithServer();
            
out.write(message);
            
out.flush();
            disConnectWithServer();
        }
    }

    
public String receiveDataFromServer() {
        
try {
            String message =
"";
            
int charsRead = 0;
            
char[] buffer = new char[BUFFER_SIZE];

            
while ((charsRead = in.read(buffer)) != -1) {
                message +=
new String(buffer).substring(0, charsRead);
            }

            disConnectWithServer();
// disconnect server
            
return message;
        }
catch (IOException e) {
            
return "Error receiving response:  " + e.getMessage();
        }
    }


}

 

2-) Kullanımı

 

NetClient nc = new NetClient("192.168.1.26", 6000); //mac address maybe not for you
nc.sendDataWithString("your data");

 

3-) bunuda yaz

 

@Override
protected void onCreate(Bundle savedInstanceState) {
    StrictMode.ThreadPolicy policy =
new StrictMode.ThreadPolicy.Builder().permitAll().build();
    StrictMode.
setThreadPolicy(policy);

    
super.onCreate(savedInstanceState);

 

....

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

 

 2021 Ocak 18 Pazartesi
 440