Új hozzászólás Aktív témák
-
tboy93
nagyúr
Sziasztok! Adott egy feladat. Van mondjuk 2..n db tabletem, az egyik a server a másik n+1 a kliens. Szeretném ha a server a GPS sensorból jövő location adatokat átküldeni a klienseknek a hálózaton.
Gyorsba összedobtam egy teszt kódot, de valamiért nem működik.
Server
public class MainActivity extends Activity {
private LocationManager locationManager;
private LocationListener myLocListener;
private String message;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myLocListener = new MyLocationListener();
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
try {
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 500, 0, myLocListener);
} catch (SecurityException e) {
e.printStackTrace();
} catch (Exception e){
e.printStackTrace();
}
NetworkThread x = new NetworkThread();
x.start();
}
private class NetworkThread extends Thread{
@Override
public void run() {
try{
ServerSocket ss = new ServerSocket(8080);
Socket cl1 = ss.accept();
PrintWriter pw1 = new PrintWriter(cl1.getOutputStream());
while(true){
if(message!=null){
pw1.println(message);
pw1.flush();
}
}
} catch (Exception e){
e.printStackTrace();
}
}
}
private class MyLocationListener implements LocationListener {
@Override
public void onLocationChanged(final Location location) {
message = "lat:" + String.valueOf(location.getLatitude()) + " lon:" + String.valueOf(location.getLongitude() +
" time:" + String.valueOf(location.getTime()));
}
@Override
public void onProviderDisabled(String arg0) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
}
}Client
public class MainActivity extends Activity {
private TextView Messages;
private Activity MainAct;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MainAct = this;
Messages = (TextView) findViewById(R.id.msg);
NetworkThread x = new NetworkThread();
x.start();
}
public class NetworkThread extends Thread{
public void run(){
try{
Socket s = new Socket(getIpAddress(),8080);
final Scanner sc = new Scanner(s.getInputStream());
while(true){
try{
MainAct.runOnUiThread(new Runnable() {
@Override
public void run() {
Messages.append(sc.nextLine());
}
});
} catch (Exception ex){
ex.printStackTrace();
}
}
} catch (Exception e){
e.printStackTrace();
}
}
}
}Sima Java kódként localhoston működik.
Új hozzászólás Aktív témák
- Acer Nitro 15 gamer laptop! -i7 9750H, RTX 2060 6gb, 32gb DDR4, 500gb SSD, 1tb HDD
- 3-in-1 PRÉMIUM USB-C HUB /Samsung Dex, MacBook, Surface, Chromebook ,Huawei,Motorola
- Üvegfólia,hidrogél fólia: iPhone ,Honor,Google Pixel,,Nothing Phone,Motorola, Samsung telefonokhoz
- 2TB HDD 100/100 - Több darab!
- Gigabyte AORUS 16X - Core i9 14900HX - 32gb ram - RTX 4090 (175W) 1TB SSD + 2027 januárig gyári gar
- HP ProDesk 600 G2 MT, i7-6700,8GB DDR4,256GB SSD,DVD-RW,WIN11
- Lenovo ThinkPad P1 Gen 4 i7 32GB RAM 1TB SSD NVIDIA RTX A2000 2560X1600 400nit Garancia 19 hónap
- Apple iPhone 15 128GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone SE 2022 64GB, Kártyafüggetlen, 1 Év Garanciával
- HIBÁTLAN iPhone 13 Pro Max 256GB Sierra Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS4302
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
