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 |


