D
DMD-OL
Neues Mitglied
- 0
hi
ist es möglich zwei Datenbankinhalte getrennt, aber mit einem Socket an den PC zu schicken und zu empfangen?
Client Android:
Server PC:
In meinem Code kommen beide nur als String an (vorerst auch ok, sollten aber eigentlich richtige Listen sein) .
Und die gesendeten data_1 und data_2 kommen zusammen beim server auf data_1 an!?!?
Ich schätze ich bin massiv zu blöd, daher muß ich um Hilfe bitten.
ist es möglich zwei Datenbankinhalte getrennt, aber mit einem Socket an den PC zu schicken und zu empfangen?
Client Android:
Code:
@Override
protected Void doInBackground(Void... arg0) {
Cursor res = My_Database.getAllData();
if (res.getCount() == 0){
Intent click_datenbank = new Intent(daten_transfer.this,pop_datenbank.class);
startActivity(click_datenbank);
}else {
Socket socket = null;
try {
SocketAddress sock_addresse = new InetSocketAddress(dstAddress, dstPort);
socket = new Socket();
int timeoutMs = 1000;
socket.connect(sock_addresse, timeoutMs);
SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy, HH:mm");
String dateTime = sdf.format(new Date());
ByteArrayOutputStream bAPS = new ByteArrayOutputStream(1024);
byte[] server_Name = new byte[1024];
int server_Information;
InputStream input_Message = socket.getInputStream();
OutputStream out_Username = socket.getOutputStream();
OutputStream out_1 = socket.getOutputStream();
OutputStream out_2 = socket.getOutputStream();
while ((server_Information = input_Message.read(server_Name)) != -1) {
bAPS.write(server_Name, 0, server_Information);
response += bAPS.toString("UTF-8");
PrintStream print_userName = new PrintStream(out_Username);
print_userName.print(userName);
String Arbeitsliste = "hier mehrere Listen in einer Liste";
PrintStream data_1 = new PrintStream(out_1);
data_1.print(Arbeitsliste);
String Materialliste = "hier mehrere Listen in einer Liste";
PrintStream data_2 = new PrintStream(out_2);
data_2.print(Materialliste);
}
} catch (UnknownHostException e) {
e.printStackTrace();
failMessage = "IP-ADRESSE UNBEKANNT!";
} catch (IOException e) {
e.printStackTrace();
failMessage = "BAREBONE NICHT ERREICHBAR!";
}finally{
if(socket != null){
try {
socket.close();
} catch (IOException e) {
e.printStackTrace();
failMessage = "IO-Exception: " + e.toString();
}
}
}
}
return null;
}
Server PC:
Code:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import socket
import sys
import datetime
streamSock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
get_IP = [ip for ip in socket.gethostbyname_ex(socket.gethostname())[2] if not ip.startswith("127.")][:1]
port = 9999
server_address = ((ip,port))
for ip_adresse in get_IP:
try:
streamSock.bind(server_address)
print '\nServer gestartet...\nIP-Adresse: %s\n' % (ip)
except streamSock as s_err:
if s_err == errno.ECONNREFUSED or s_err == errno.ECONNRESET:
print('Kein Internethost verfuegbar!\nServer kann nicht gestartet werden!')
streamSock.listen(25)
kontakt = 0
while True:
client,addr = streamSock.accept()
now = datetime.datetime.now()
currentTime = now.strftime("%d.%m.%Y, %H:%M:%S")
serverNameDatum = "Stream "+str(kontakt)+(":\n---> DMD-Server ("+currentTime+")\n")
client.send(serverNameDatum)
userName = client.recv(1024)
print ("-------")
print ("Stream "+str(kontakt)+(": ---> "+str(userName)+" ("+currentTime+")"))
data_1 = client.recv(2024)
print data_1
data_2 = client.recv(3024)
print data_2
client.close()
kontakt += 1
streamSock.close()
In meinem Code kommen beide nur als String an (vorerst auch ok, sollten aber eigentlich richtige Listen sein) .
Und die gesendeten data_1 und data_2 kommen zusammen beim server auf data_1 an!?!?
Ich schätze ich bin massiv zu blöd, daher muß ich um Hilfe bitten.