Python Client
Sorce Bank 2010. 3. 14. 09:10
client_socket.py
import socket class Sock: def __init__(self): self.server = socket.socket() self.host = socket.gethostname() self.port = 5000 def connect(self): self.server.connect((self.host,self.port)) def end(self): self.server.close() def send_msg(self,msg): self.server.send(msg) def recive_msg(self): return self.server.recv(512)client_Window.py
# To change this template, choose Tools | Templates # and open the template in the editor. import java.awt as awt import java.lang as lang import javax.swing as swing import client_socket class Client_Win: def buttonPressed(self,event): if self.send_msg.text!="": self.client.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.client.end() lang.System.exit(0) def recive_message(self): while True: msg = self.client.recive_msg() if msg!="": self.field.text = self.field.text +"You Say :" +msg + "\n" def keyPressed(self,event): if self.send_msg.text!="": self.client.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("Client", size = (200, 200), windowClosing = exit ) self.win.contentPane.layout = awt.BorderLayout() self.panel_msg = swing.JPanel() self.panel_msg.layout = awt.FlowLayout() 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 ) 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=(300, 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.client = client_socket.Sock() self.show_Win() try: self.client.connect() 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 client_Window import thread if __name__ == "__main__": c = client_Window.Client_Win() thread.start_new_thread(c.recive_message ,( ))
'Sorce Bank' 카테고리의 다른 글
GeneralTree to BinaryTree (2) | 2010.03.18 |
---|---|
Java Binary Tree (0) | 2010.03.14 |
Python Server (0) | 2010.03.14 |
PL_HW01-3 in Perl (0) | 2010.03.14 |
PL HW 01_2 in perl (0) | 2010.03.14 |