Java Socket編程相關(guān)源代碼的介紹
作者:佚名
Java Socket編程需要大家仔細(xì)的學(xué)習(xí),首先我們來(lái)看看有關(guān)的源代碼,只有在源代碼中才能找到我們需要的。希望大家有所幫助。
Java Socket編程在不斷發(fā)展中有不少的問(wèn)題存在,下面我們就詳細(xì)的看看如何才能更好的使用這個(gè)代碼。接下來(lái)我們就看看相關(guān)的源代碼介紹,希望對(duì)大家在之后的Java Socket編程中有所幫助。
源代碼介紹:
- MyServer.java
- import java.io.IOException;
- import java.io.InputStream;
- import java.net.ServerSocket;
- import java.net.Socket;
- public class MyServer extends Thread {
- private int serverPort;
- private int maxConnection;
- public MyServer(int serverPort, int maxConnection) {
- this.serverPort = serverPort;
- this.maxConnection = maxConnection;
- }
- @Override
- public void run() {
- ServerSocket serverSocket = null;
- Socket socket = null;
- try {
- serverSocket = new ServerSocket(serverPort, maxConnection);
- socket = serverSocket.accept();
- new ServerProcess(socket).start();
- } catch (IOException e) {
- e.printStackTrace();
- System.exit(1);
- } finally {
- if (serverSocket != null) {
- try {
- serverSocket.close();
- } catch (IOException e) {
- e.printStackTrace();
- System.exit(1);
- }
- }
- }
- }
- private class ServerProcess extends Thread {
- private Socket socket;
- public ServerProcess(Socket socket) {
- this.socket = socket;
- }
- @Override
- public void run() {
- InputStream stream = null;
- byte buffer[] = new byte[1024];
- int length;
- StringBuffer recvMessage = new StringBuffer();
- try {
- stream = socket.getInputStream();
- while (true) {
- length = stream.read(buffer);
- if (length > 0) {
- recvMessage.append(new String(buffer, 0, length));
- } else {
- break;
- }
- }
- System.out.println(recvMessage.toString());
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- }
- MyClient.java
- import java.io.IOException;
- import java.io.OutputStream;
- import java.net.Socket;
- public class MyClient {
- private String serverAddress;
- private int serverPort;
- public MyClient(String serverAddress, int serverPort) {
- this.serverAddress = serverAddress;
- this.serverPort = serverPort;
- }
- public boolean sendMessage(String message) {
- Socket socket = null;
- OutputStream stream = null;
- try {
- socket = new Socket(serverAddress, serverPort);
- stream = socket.getOutputStream();
- stream.write(message.getBytes());
- return true;
- } catch (IOException e) {
- e.printStackTrace();
- return false;
- } finally {
- try {
- if (socket != null) {
- socket.close();
- }
- if (stream != null) {
- stream.close();
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- }
- Main.java
- public class Main {
- public static void main(String[] args) {
- MyServer server = new MyServer(6001, 1);
- server.start();
- MyClient client = new MyClient("localhost", 6001);
- client.sendMessage("Hello Tomorrow!!");
- }
- }
Java Socket編程運(yùn)行結(jié)果
- Hello Tomorrow!!
以上就是對(duì)Java Socket編程的詳細(xì)介紹。希望大家有所幫助。
【編輯推薦】
責(zé)任編輯:張浩
來(lái)源:
IT168