JavaSocket编程相关源代码的介绍

Java Socket编程在不断发展中有不少的问题存在,下面我们就详细的看看如何才能更好的使用这个代码。接下来我们就看看相关的源代码介绍,希望对大家在之后的Java Socket编程中有所帮助。

源代码介绍:

 
 
 
  1. MyServer.java  
  2. import java.io.IOException;  
  3. import java.io.InputStream;  
  4. import java.net.ServerSocket;  
  5. import java.net.Socket;  
  6. public class MyServer extends Thread {  
  7. private int serverPort;  
  8. private int maxConnection;  
  9. public MyServer(int serverPort, int maxConnection) {  
  10. this.serverPort = serverPort;  
  11. this.maxConnection = maxConnection;  
  12. }  
  13. @Override  
  14. public void run() {  
  15. ServerSocket serverSocket = null;  
  16. Socket socket = null;  
  17. try {  
  18. serverSocket = new ServerSocket(serverPort, maxConnection);  
  19. socket = serverSocket.accept();  
  20. new ServerProcess(socket).start();  
  21. } catch (IOException e) {  
  22. e.printStackTrace();  
  23. System.exit(1);  
  24. } finally {  
  25. if (serverSocket != null) {  
  26. try {  
  27. serverSocket.close();  
  28. } catch (IOException e) {  
  29. e.printStackTrace();  
  30. System.exit(1);  
  31. }  
  32. }  
  33. }  
  34. }  
  35. private class ServerProcess extends Thread {  
  36. private Socket socket;  
  37. public ServerProcess(Socket socket) {  
  38. this.socket = socket;  
  39. }  
  40. @Override  
  41. public void run() {  
  42. InputStream stream = null;  
  43. byte buffer[] = new byte[1024];  
  44. int length;  
  45. StringBuffer recvMessage = new StringBuffer();  
  46. try {  
  47. stream = socket.getInputStream();  
  48. while (true) {  
  49. length = stream.read(buffer);  
  50. if (length > 0) {  
  51. recvMessage.append(new String(buffer, 0, length));  
  52. } else {  
  53. break;  
  54. }  
  55. }  
  56. System.out.println(recvMessage.toString());  
  57. } catch (IOException e) {  
  58. e.printStackTrace();  
  59. }  
  60. }  
  61. }  
  62. }  
  63. MyClient.java  
  64. import java.io.IOException;  
  65. import java.io.OutputStream;  
  66. import java.net.Socket;  
  67. public class MyClient {  
  68. private String serverAddress;  
  69. private int serverPort;  
  70. public MyClient(String serverAddress, int serverPort) {  
  71. this.serverAddress = serverAddress;  
  72. this.serverPort = serverPort;  
  73. }  
  74. public boolean sendMessage(String message) {  
  75. Socket socket = null;  
  76. OutputStream stream = null;  
  77. try {  
  78. socket = new Socket(serverAddress, serverPort);  
  79. stream = socket.getOutputStream();  
  80. stream.write(message.getBytes());  
  81. return true;  
  82. } catch (IOException e) {  
  83. e.printStackTrace();  
  84. return false;  
  85. } finally {  
  86. try {  
  87. if (socket != null) {  
  88. socket.close();  
  89. }  
  90. if (stream != null) {  
  91. stream.close();  
  92. }  
  93. } catch (IOException e) {  
  94. e.printStackTrace();  
  95. }  
  96. }  
  97. }  
  98. }  
  99. Main.java  
  100. public class Main {  
  101. public static void main(String[] args) {  
  102. MyServer server = new MyServer(6001, 1);  
  103. server.start();  
  104. MyClient client = new MyClient("localhost", 6001);  
  105. client.sendMessage("Hello Tomorrow!!");  
  106. }  

 

Java Socket编程运行结果

 
 
 
  1. Hello Tomorrow!! 

以上就是对Java Socket编程的详细介绍。希望大家有所帮助。

标题名称:JavaSocket编程相关源代码的介绍
地址分享:http://www.mswzjz.cn/qtweb/news4/333154.html

攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能