Advertisement
Guest User

client server

a guest
Dec 28th, 2014
261
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.97 KB | None | 0 0
  1. package sendStrings;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.InputStreamReader;
  5. import java.io.PrintStream;
  6. import java.net.ServerSocket;
  7. import java.net.Socket;
  8.  
  9. public class Server {
  10.  
  11. public static void main(String args[])
  12. {
  13. ServerSocket server = null;
  14. String line;
  15. BufferedReader is;
  16. PrintStream os;
  17. Socket client = null;
  18.  
  19. try
  20. {
  21. server = new ServerSocket(9999);
  22. }
  23. catch (Exception e)
  24. {
  25. System.out.println(e);
  26. }
  27.  
  28. try
  29. {
  30. client = server.accept();
  31. System.out.println(client.getInetAddress());
  32. is = new BufferedReader(new InputStreamReader(client.getInputStream()));
  33. os = new PrintStream(client.getOutputStream());
  34. line = "";
  35. while ((line = is.readLine()) != null)
  36. {
  37. os.println(line);
  38. }
  39. }
  40. catch (Exception e)
  41. {
  42. System.out.println(e);
  43. }
  44. }
  45. }
  46.  
  47.  
  48. package sendStrings;
  49.  
  50. import java.io.BufferedReader;
  51. import java.io.InputStreamReader;
  52. import java.io.PrintStream;
  53. import java.net.Socket;
  54. import java.util.Scanner;
  55.  
  56. public class Client {
  57.  
  58. Socket c = null;
  59. BufferedReader is;
  60. Scanner in;
  61. PrintStream os;
  62.  
  63. public Client(String inIpAddress, int port)
  64. {
  65. try
  66. {
  67. c = new Socket(inIpAddress, port);
  68. is = new BufferedReader(new InputStreamReader(c.getInputStream()));
  69. os = new PrintStream(c.getOutputStream());
  70. }
  71. catch (Exception e)
  72. {
  73. System.out.println(e);
  74. }
  75. }
  76.  
  77. public void send(String toSend)
  78. {
  79. os.println(toSend);
  80. os.flush();
  81. }
  82.  
  83. public BufferedReader getReader()
  84. {
  85. return this.is;
  86. }
  87.  
  88. public void close()
  89. {
  90. try {
  91. c.close();
  92. } catch (Exception e) {
  93. System.out.println(e);
  94. }
  95. }
  96. }
  97.  
  98.  
  99.  
  100. package sendStrings;
  101.  
  102. import java.awt.BorderLayout;
  103.  
  104. public class ClientWindow extends JFrame implements Runnable {
  105.  
  106. private JPanel contentPane;
  107. private Client client;
  108. private BufferedReader fromServer;
  109. private Scanner in;
  110. private JTextField inIP;
  111. private JTextField inPort;
  112. private JTextField inMessage;
  113. private JTextPane mainChat;
  114.  
  115. /**
  116. * Launch the application.
  117. */
  118. public static void main(String[] args) {
  119. EventQueue.invokeLater(new Runnable() {
  120. public void run() {
  121. try {
  122. ClientWindow frame = new ClientWindow();
  123. frame.setVisible(true);
  124. } catch (Exception e) {
  125. e.printStackTrace();
  126. }
  127. }
  128. });
  129. }
  130.  
  131. /**
  132. * Create the frame.
  133. */
  134. public ClientWindow() {
  135. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  136. setBounds(100, 100, 450, 300);
  137. contentPane = new JPanel();
  138. contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  139. setContentPane(contentPane);
  140. contentPane.setLayout(null);
  141.  
  142. inIP = new JTextField();
  143. inIP.setText("Enter IP");
  144. inIP.setBounds(10, 11, 111, 20);
  145. contentPane.add(inIP);
  146. inIP.setColumns(10);
  147.  
  148. inPort = new JTextField();
  149. inPort.setText("Enter Port");
  150. inPort.setBounds(131, 11, 86, 20);
  151. contentPane.add(inPort);
  152. inPort.setColumns(10);
  153.  
  154. JButton btnConnect = new JButton("Connect");
  155. btnConnect.addMouseListener(new MouseAdapter() {
  156. @Override
  157. public void mouseClicked(MouseEvent arg0) {
  158. //HANDLE CONNECT TO IP
  159. connect(inIP.getText(), inPort.getText());
  160. }
  161. });
  162. btnConnect.setBounds(227, 10, 89, 23);
  163. contentPane.add(btnConnect);
  164.  
  165. mainChat = new JTextPane();
  166. mainChat.setBounds(10, 42, 306, 172);
  167. contentPane.add(mainChat);
  168.  
  169. inMessage = new JTextField();
  170. inMessage.addKeyListener(new KeyAdapter() {
  171. @Override
  172. public void keyPressed(KeyEvent arg0) {
  173. //HANDLE SEND W/ ENTER KEY
  174. if (arg0.getKeyCode() == KeyEvent.VK_ENTER && !(inMessage.getText().equals("")))
  175. {
  176. //send message
  177. client.send(inMessage.getText());
  178. inMessage.setText("");
  179. }
  180. }
  181. });
  182. inMessage.setBounds(10, 225, 306, 25);
  183. contentPane.add(inMessage);
  184. inMessage.setColumns(10);
  185.  
  186. JButton btnSend = new JButton("Send");
  187. btnSend.addMouseListener(new MouseAdapter() {
  188. @Override
  189. public void mouseClicked(MouseEvent e) {
  190. //HANDLE SEND
  191. if (!(inMessage.getText().equals("")))
  192. {
  193. //send message
  194. client.send(inMessage.getText());
  195. inMessage.setText("");
  196. }
  197. }
  198. });
  199. btnSend.setBounds(326, 226, 89, 23);
  200. contentPane.add(btnSend);
  201. }
  202.  
  203. private void connect(String inIP, String inPort)
  204. {
  205. int port = 9999;
  206. try
  207. {
  208. port = Integer.parseInt(inPort);
  209. }
  210. catch (Exception e)
  211. {
  212. System.out.println(e);
  213. }
  214. try
  215. {
  216. client = new Client(inIP, port);
  217. }
  218. catch (Exception e)
  219. {
  220. System.out.println(e);
  221. }
  222. fromServer = client.getReader();
  223. run();
  224. }
  225.  
  226. public void postToChat(String message)
  227. {
  228. String text = mainChat.getText();
  229. text = text + message + "\n";
  230. }
  231.  
  232. @Override
  233. public void run() {
  234. String line = "";
  235. try {
  236. while ((line = fromServer.readLine()) != null)
  237. {
  238. postToChat(line);
  239. if (line.equals(".bye"))
  240. break;
  241. }
  242. } catch (Exception e) {
  243. System.out.println(e);
  244. } finally {
  245. client.close();
  246. }
  247. }
  248. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement