# -*- coding: utf-8 -*-
# __author__ = 'hejunwang'
###########################################################################
## Python code generated with wxFormBuilder (version Jun 17 2015)
## http://www.wxformbuilder.org/
##
## PLEASE DO "NOT" EDIT THIS FILE!
###########################################################################
import threading
import sys
import os
import socket
import time
import struct
import logging
import wx
import wx.xrc
# 统一使用utf-8格式
default_encoding =
'utf-8'
if sys.getdefaultencoding() != default_encoding:
reload(sys)
sys.setdefaultencoding(default_encoding)
PORT =
54321
VERSION =
1.0
class R():
def __init__(
self):
pass
@staticmethod
def exit():
os.system(
"kill -9 " +
str(os.getpid()))
# 杀掉进程
# 接收数据
class MulticastServerWorker(threading.Thread):
def __init__(
self, sock):
threading.Thread.
__init__(
self)
self.sock = sock
self.r =
1
print "MulticastServerWorker"
logging.debug(
"MulticastServerWorker")
def run(
self):
sock =
self.sock
packSize =
1024
while self.r:
data, client = sock.recvfrom(packSize)
# time.sleep(1)
print data, client
logging.debug(
"MulticastServerWorker recvfrom ")
sock.sendto(
"bbbbb", client)
# 组播
class MulticastServer(threading.Thread):
def __init__(
self, addr, destaddr):
threading.Thread.
__init__(
self)
self.addr = addr
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR,
1)
# sock.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_TTL, 20)
# mreq = struct.pack("=4sl", socket.inet_aton(destaddr), socket.INADDR_ANY)
# sock.setsockopt(socket.IPPROTO_IP, socket.IP_ADD_MEMBERSHIP, mreq)
sock.bind(addr)
self.sock = sock
self.destaddr = destaddr
worker = MulticastServerWorker(sock)
worker.start()
print "MulticastServer"
logging.debug(
"MulticastServer")
print self.addr
print self.destaddr
self.r =
1
def run(
self):
sock =
self.sock
packsize =
1024
# data = " i'm MulticastServer"
print "run"
logging.debug(
"run")
# data = self.msg
# print 'data :%s'