Python Server
Sorce Bank 2010. 3. 14. 09:08
server_socket.py
import socket class Sock: def __init__(self): self.server = socket.socket() self.host = socket.gethostname() self.port = 5000 self.server.bind( ( self.host, self.port ) ) self.server.listen(5) def start(self): self.client, self.addr = self.server.accept() def end(self): self.client.close() def send_msg(self,msg): self.client.send(msg) def recive_msg(self): return self.client.recv(512)server_Window.py
import java.awt as awt import java.lang as lang import javax.swing as swing import server_socket class Server_Win: def buttonPressed(self,event): if self.send_msg.text!="": self.server.send_msg(self.send_msg.text) self.field.text = self.field.text +"I Say :" +self.send_msg.text + "\n" self.send_msg.text = "" def exit(event): self.server.end() lang.System.exit(0) def recive_message(self): while True: msg = self.server.recive_msg() if msg!="": self.field.text = self.field.text +"You Say :" +msg + "\n" def keyPressed(self,event): if self.send_msg.text!="": self.server.send_msg(self.send_msg.text) self.field.text = self.field.text +"I Say :" +self.send_msg.text + "\n" self.send_msg.text = "" def __init__(self): # Create Main Frame Window self.win = swing.JFrame("Server", size = (200, 200), windowClosing = exit ) self.win.contentPane.layout = awt.BorderLayout() self.panel_msg = swing.JPanel() self.panel_msg.layout = awt.FlowLayout() # Create Label self.label = swing.JLabel("Message :") # Create Send Button self.Button_send = swing.JButton("Send", preferredSize=(100, 20),actionPerformed= self.buttonPressed ) # Create Input Field self.send_msg = swing.JTextField(preferredSize=(200, 20), actionPerformed= self.keyPressed ) # add to Panel self.panel_msg.add(self.label) self.panel_msg.add(self.send_msg) self.panel_msg.add(self.Button_send) # Create Message Window self.field = swing.JTextArea(preferredSize=(50, 1000)) self.field.setEditable(0) self.scrollpane = swing.JScrollPane(self.field, preferredSize=(50, 100)) # Add Componet to Main Frame self.win.contentPane.add(self.scrollpane, awt.BorderLayout.CENTER) self.win.contentPane.add( self.panel_msg, awt.BorderLayout.SOUTH) self.server = server_socket.Sock() self.show_Win() try: self.server.start() except IOError: print "I/O Error!!" def show_Win(self): self.win.pack() self.win.show()main.py
# To change this template, choose Tools | Templates # and open the template in the editor. import thread import server_Window if __name__ == "__main__": s = server_Window.Server_Win() thread.start_new_thread(s.recive_message ,( ))
'Sorce Bank' 카테고리의 다른 글
Java Binary Tree (0) | 2010.03.14 |
---|---|
Python Client (0) | 2010.03.14 |
PL_HW01-3 in Perl (0) | 2010.03.14 |
PL HW 01_2 in perl (0) | 2010.03.14 |
Binary Tree in Ruby (0) | 2010.03.14 |