##// END OF EJS Templates
Se añadio los ejemplos del udp en multicast
murco -
r24:25
parent child
Show More
1 NO CONTENT: new file 10644
@@ -0,0 +1,4
1 from udp import *
No newline at end of file
2
No newline at end of file
3 clientObj = Client()
No newline at end of file
4 clientObj.start() No newline at end of file
@@ -0,0 +1,4
1 from udp import *
No newline at end of file
2
No newline at end of file
3 serverObj = Server()
No newline at end of file
4 serverObj.start() No newline at end of file
@@ -0,0 +1,124
1 # Server program
No newline at end of file
2 # UDP VERSION
No newline at end of file
3
No newline at end of file
4
No newline at end of file
5 import socket
No newline at end of file
6
No newline at end of file
7 class Server:
No newline at end of file
8
No newline at end of file
9 # Set the socket parameters
No newline at end of file
10 host = "localhost"
No newline at end of file
11 port = 5140
No newline at end of file
12 buf = 1024
No newline at end of file
13 addr = (host,port)
No newline at end of file
14
No newline at end of file
15 def __init__(self):
No newline at end of file
16
No newline at end of file
17 self.createObjects()
No newline at end of file
18
No newline at end of file
19 def createObjects(self):
No newline at end of file
20
No newline at end of file
21 # Create socket and bind to address
No newline at end of file
22 self.sock_s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
No newline at end of file
23 self.sock_s.bind(self.addr)
No newline at end of file
24
No newline at end of file
25 def listen(self):
No newline at end of file
26
No newline at end of file
27 # Receive messages
No newline at end of file
28 print "Server initialized ..."
No newline at end of file
29 print
No newline at end of file
30 while 1:
No newline at end of file
31 data_rx, addr_rx = self.sock_s.recvfrom(self.buf)
No newline at end of file
32 if not data_rx:
No newline at end of file
33 print "Client has exited!"
No newline at end of file
34 break
No newline at end of file
35
No newline at end of file
36 print "\nSERVER:"
No newline at end of file
37 print "Received message '", data_rx,"'"
No newline at end of file
38 print "Sendinf ack ..."
No newline at end of file
39 self.sock_s.sendto('ack', addr_rx)
No newline at end of file
40
No newline at end of file
41 # Close socket
No newline at end of file
42 self.sock_s.close()
No newline at end of file
43
No newline at end of file
44 def start(self):
No newline at end of file
45
No newline at end of file
46 self.listen()
No newline at end of file
47
No newline at end of file
48 class Client:
No newline at end of file
49
No newline at end of file
50
No newline at end of file
51 # Set the socket parameters
No newline at end of file
52 host = '0.0.0.0'
No newline at end of file
53 port = 5140
No newline at end of file
54 buf = 1024
No newline at end of file
55 multicast_addr = (host,port)
No newline at end of file
56
No newline at end of file
57 def __init__(self):
No newline at end of file
58
No newline at end of file
59 self.createObjects()
No newline at end of file
60
No newline at end of file
61 def createObjects(self):
No newline at end of file
62
No newline at end of file
63 # Create socket
No newline at end of file
64 self.socket_c = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
No newline at end of file
65 self.socket_c.settimeout(0.2)
No newline at end of file
66 self.socket_c.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_TTL, 20)
No newline at end of file
67
No newline at end of file
68 def sendData(self):
No newline at end of file
69
No newline at end of file
70 def_msg = "===Enter message to send to server===";
No newline at end of file
71 print "\n", def_msg
No newline at end of file
72 print
No newline at end of file
73
No newline at end of file
74 # Send messages
No newline at end of file
75 while (1):
No newline at end of file
76 print "\nCLIENT"
No newline at end of file
77 data = raw_input('>> ')
No newline at end of file
78 if not data or data == 'q':
No newline at end of file
79 break
No newline at end of file
80
No newline at end of file
81 if(self.socket_c.sendto(data, self.multicast_addr)):
No newline at end of file
82
No newline at end of file
83 print "Sending message '",data,"'....."
No newline at end of file
84
No newline at end of file
85 data_rx, server_rx = self.socket_c.recvfrom(16)
No newline at end of file
86
No newline at end of file
87 print "Data received ", data_rx, server_rx
No newline at end of file
88
No newline at end of file
89 # Close socket
No newline at end of file
90 self.socket_c.close()
No newline at end of file
91
No newline at end of file
92 def start(self):
No newline at end of file
93
No newline at end of file
94 self.sendData()
No newline at end of file
95
No newline at end of file
96 import threading
No newline at end of file
97
No newline at end of file
98 class MiThread(threading.Thread):
No newline at end of file
99 def __init__(self, obj):
No newline at end of file
100
No newline at end of file
101 threading.Thread.__init__(self)
No newline at end of file
102 self.obj = obj
No newline at end of file
103
No newline at end of file
104 def run(self):
No newline at end of file
105
No newline at end of file
106 self.obj.start()
No newline at end of file
107
No newline at end of file
108
No newline at end of file
109 if __name__ == '__main__':
No newline at end of file
110
No newline at end of file
111 serverObj = Server()
No newline at end of file
112 clientObj = Client()
No newline at end of file
113
No newline at end of file
114 ts = MiThread(serverObj)
No newline at end of file
115 tc = MiThread(clientObj)
No newline at end of file
116
No newline at end of file
117 ts.start()
No newline at end of file
118 tc.start()
No newline at end of file
119
No newline at end of file
120 tc.join()
No newline at end of file
121 ts.join(60)
No newline at end of file
122
No newline at end of file
123
No newline at end of file
124 No newline at end of file
General Comments 0
You need to be logged in to leave comments. Login now