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 |


