Detailed explanation of example code for one-way communication in Java
This article mainly introduces the method and related examples of one-way communication through sockets in Java network programming. It is an introductory program for network programming. Although it is simple, it has certain reference value. Friends in need can refer to it.
In network programming, if the client is only required to send messages to the server and the server is not required to send messages to the client, it is called single-line communication. After the client socket and server socket are successfully connected, it can be estimated that data is sent through the output stream, and the server receives data through the input stream. The following is an example of a simple one-way communication.
Example 1: This example is a TCP server program, establish a server socket in the getserver() method, and call the getClienMessage() method to obtain client information. The code is as follows:
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.ServerSocket; import java.net.Socket; public class MyTcp { private BufferedReader reader; private ServerSocket server; private Socket socket; void getserver() { try { server = new ServerSocket(8998); System.out.println("服务器套接字已经创建成功"); while(true) { System.out.println("等待客户机的连接"); socket = server.accept(); reader = new BufferedReader(new InputStreamReader(socket.getInputStream())); getClienMessage(); } }catch(Exception e) { e.printStackTrace(); } } private void getClienMessage() { try { while (true) { System.out.println("客户机:"+ reader.readLine()); } }catch(Exception e) { e.printStackTrace(); } try { if(reader !=null) { reader.close(); } if(socket !=null) { socket.close(); } }catch(IOException e) { e.printStackTrace(); } } public static void main(String[] args) { MyTcp tcp = new MyTcp(); tcp.getserver(); } }
Run result:
The server socket has been created successfully
Waiting for client connection
Now let’s take a look at the client program.
Example 2: Client program to send the information entered by the user in the text box to the server, and display the information entered in the text box in the client's text field. The code is as follows:
import java.awt.BorderLayout; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.PrintWriter; import java.net.Socket; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.JTextField; import javax.swing.border.BevelBorder; public class MyClien extends JFrame{ private PrintWriter writer; Socket socket; private JTextArea ta = new JTextArea(); private JTextField tf = new JTextField(); Container cc; public MyClien(String title) { super(title); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); cc = this.getContentPane(); final JScrollPane scrollPane = new JScrollPane(); scrollPane.setBorder(new BevelBorder(BevelBorder.RAISED)); getContentPane().add(scrollPane, BorderLayout.CENTER); scrollPane.setViewportView(ta); cc.add(tf,"South"); tf.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { writer.println(tf.getText()); ta.append(tf.getText()+ '\n'); ta.setSelectionEnd(ta.getText().length()); tf.setText(""); } }); } private void connect() { ta.append("尝试连接\n"); try { socket = new Socket("127.0.0.1",8998); writer = new PrintWriter(socket.getOutputStream(),true); ta.append("完成连接\n"); }catch(Exception e) { e.printStackTrace(); } } public static void main(String[] args) { MyClien clien = new MyClien("向服务器传送数据"); clien.setSize(200,200); clien.setVisible(true); clien.connect(); } }
Server-side operation result:
The server socket has been created successfully
Waiting for the client Connect
client: The revolution has not yet succeeded, comrades still need to work hard!
Client operation result:
Try to connect
Complete connection
The revolution has not yet succeeded, comrades still need to work hard!
Note:
When multiple network applications are installed on a machine, it is possible that the specified port number has been occupied. You may also encounter a situation where a network program that previously ran well suddenly fails to run. This situation may also be due to the port being occupied by another program. At this time, use the command netstat -an to view the ports used by the program.
There is another very important point here. The two source codes mentioned in this article are one is the server-side program and the other is the client-side program. When running, the server program must be run first, and then the client program, and the port numbers of the two pieces of code must be the same.
The above is the detailed content of Detailed explanation of example code for one-way communication in Java. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



Guide to Perfect Number in Java. Here we discuss the Definition, How to check Perfect number in Java?, examples with code implementation.

Guide to Weka in Java. Here we discuss the Introduction, how to use weka java, the type of platform, and advantages with examples.

Guide to Smith Number in Java. Here we discuss the Definition, How to check smith number in Java? example with code implementation.

In this article, we have kept the most asked Java Spring Interview Questions with their detailed answers. So that you can crack the interview.

Java 8 introduces the Stream API, providing a powerful and expressive way to process data collections. However, a common question when using Stream is: How to break or return from a forEach operation? Traditional loops allow for early interruption or return, but Stream's forEach method does not directly support this method. This article will explain the reasons and explore alternative methods for implementing premature termination in Stream processing systems. Further reading: Java Stream API improvements Understand Stream forEach The forEach method is a terminal operation that performs one operation on each element in the Stream. Its design intention is

Guide to TimeStamp to Date in Java. Here we also discuss the introduction and how to convert timestamp to date in java along with examples.

Capsules are three-dimensional geometric figures, composed of a cylinder and a hemisphere at both ends. The volume of the capsule can be calculated by adding the volume of the cylinder and the volume of the hemisphere at both ends. This tutorial will discuss how to calculate the volume of a given capsule in Java using different methods. Capsule volume formula The formula for capsule volume is as follows: Capsule volume = Cylindrical volume Volume Two hemisphere volume in, r: The radius of the hemisphere. h: The height of the cylinder (excluding the hemisphere). Example 1 enter Radius = 5 units Height = 10 units Output Volume = 1570.8 cubic units explain Calculate volume using formula: Volume = π × r2 × h (4

Java is a popular programming language that can be learned by both beginners and experienced developers. This tutorial starts with basic concepts and progresses through advanced topics. After installing the Java Development Kit, you can practice programming by creating a simple "Hello, World!" program. After you understand the code, use the command prompt to compile and run the program, and "Hello, World!" will be output on the console. Learning Java starts your programming journey, and as your mastery deepens, you can create more complex applications.
