ACHTUNG. Das ist ein Archiv des alten forum.ruby-portal.de. Die aktuelle Mailingliste gibt es auf lists.ruby-lang.org/pipermail/ruby-de.

NOTICE. This is a ready-only copy of the old forum.ruby-portal.de. You can find the current mailing list at lists.ruby-lang.org/pipermail/ruby-de.

Die Programmiersprache Ruby

Blog|

Forum|

Wiki  


Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]

Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
BeitragVerfasst: 06 Mär 2014, 11:42 
Offline
Nuby

Registriert: 06 Mär 2014, 11:38
Beiträge: 1
Hallo zusammen!
Ich habe ein riesiges Problem. Ich bin an einer Gasthochschule in Dänemark und ich habe absolut keine Ahnung von Ruby. Ich habe in Deutschland ein wenig in Java programmiert, aber über system.out.println ging es dabei auch nicht heraus. Nun habe ich eine Aufgabe bekommen, die ich lösen soll. Der Dozentin ist es egal, dass ich keinerlei Vorkenntnisse habe und sie will mich durchfallen lassen, wenn ich nichts liefere. Hier die Aufgabe:

Zitat:
Create a client-server program where the client connects to the server and the server records in the database the ip and timestamp of the incoming connection
Test it with a server in a different ip from localhost (for example, The teachers computer)


Kann mir da irgendeiner Helfen? Wäre auch in Pseudo-Code okay.

Vielen dank im Voraus,
euer TotalNoob


Nach oben
 Profil  
 
BeitragVerfasst: 06 Mär 2014, 14:52 
Offline
Metaprogrammierer

Registriert: 20 Nov 2011, 21:51
Beiträge: 693
Wir machen hier Grundsätzlich keine Hausaufgaben.

Bitte stelle konkretere Fragen, wmoit genau du Probleme hast, dann sehen wir weiter.

_________________
Ubuntu Gnome 14.04 LTS
rvm mit App-spezifischer Ruby-Version (meist 2.2.x) und -Gemset

Github ProfilBitbucket Profil


Nach oben
 Profil  
 
BeitragVerfasst: 07 Mär 2014, 18:14 
Offline
Interpreter
Benutzeravatar

Registriert: 03 Jul 2006, 14:53
Beiträge: 4872
Wohnort: RLP
Hi TotalNoob,

um dir mal ein paar Hilfestellungen zu geben:

* Server und client schreibst du mit http://www.ruby-doc.org/stdlib-1.9.3/libdoc/socket/rdoc/TCPServer.html und http://ruby-doc.org/stdlib-1.9.3/libdoc/socket/rdoc/TCPSocket.html.

* Du solltest dir eine einfach zu verwendende Datenbank suchen, SQLite ist einfach zu verwenden, am besten durch http://sequel.jeremyevans.net/.

Wenn du damit konkrete Probleme hast, melde dich einfach nochmal.

Gruß,
Florian

P.S.: Welche Uni?


Nach oben
 Profil  
 
BeitragVerfasst: 07 Mär 2014, 18:28 
Offline
Schüler

Registriert: 11 Apr 2013, 12:48
Beiträge: 49
Ich poste mal Code, mit dem ich letztens rumspielte :

simpleserver.rb



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
require 'socket'

module CloudHash
class Server
def initialize(port)
@server = TCPServer.new(port)
puts "Listening on port #{@server.local_address.ip_port}"
@storage = {}
end

def start
Socket.accept_loop(@server) do |connection|
handle(connection)
connection.close
end
end

def handle(connection)
request = connection.read
connection.write(process(request))
end

def process(request)
command,key,value = request.split

case command.upcase
when 'GET'
@storage[key]

when 'SET'
@storage[key] = value
end
end
end
end

server = CloudHash::Server.new(4481)
server.start
~
~
~
~

simpleclient2.rb



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# # end

# while eingabe = gets.chomp do
# client = TCPSocket.new('localhost',4111)
# case eingabe
# when "a"
# client.write "dies ist meine Nachricht test"
# while data = client.read(1024) do
# puts data
# end
# client.close

# when "b"
# client.write "dies ist ein Freudenfest "
# while data = client.read(1024) do
# puts data
# end
# client.close
# when "q"
# client.write('Shutdown')
# client.close
# break
# else
# client.write('Shutdown')
# client.close
# end

# end

require 'socket'

class Client
class << self
attr_accessor(:host, :port) #Client.host = ''; Client.port = ''
end

def self.get(key)
request("GET #{key}")
end

def self.set(key, value)
request("SET #{key} #{value}")
end

def self.request(string)
#Create a new connection for each operation
@client = TCPSocket.new(host,port) #attr_accessor
@client.write(string)

#send EOF after writing the request
@client.close_write
#Read until EOF to get the response
@client.read
end
end

Client.host = 'localhost'
Client.port = 4111
#puts Client.set('name','bla')
puts Client.get('name')


Vielleicht wirst du drauß schlau.


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach: