随着互联网的快速发展,网络编程变得越来越重要,java作为一门流行的编程语言,自然也有着强大的网络编程能力。本文将简要介绍java中的网络编程。
在Java中,网络编程需要使用到两个重要的类:Socket和ServerSocket。 Socket类被用于建立客户端的连接,而ServerSocket则被用于创建服务器端的连接。 Socket对象通过指定IP地址和端口号进行创建,而ServerSocket则指定本地端口号进行创建。
在进行网络编程时,需要了解一些基本的网络传输协议,例如TCP/IP、UDP和HTTP等。 TCP/IP和UDP是最常用的两种协议。TCP/IP是面向连接的协议,它提供可靠的数据传输,而UDP则是无连接的协议,它提供了更快的数据传输。 HTTP协议则是离线请求和应答协议,它被广泛应用于Web服务器和浏览器之间的通信。
下面是一个简单的客户端/服务器程序的例子:
客户端:
立即学习“Java免费学习笔记(深入)”;
系统特点:功能简洁实用。目前互联网上最简洁的企业网站建设系统!原创程序代码。非网络一般下载后修改的代码。更安全。速度快!界面模版分离。原创的分离思路,完全不同于其他方式,不一样的简单感受!搜索引擎优化。做了基础的seo优化。对搜索引擎更友好系统功能关于我们:介绍企业介绍类信息,可自由添加多个介绍栏目!资讯中心:公司或行业资讯类内容展示。可自由添加多个资讯内容!产品展示:支持类别设置,可添加产品图片
0
import java.net.*;
import java.io.*;
public class Client {
public static void main(String [] args) {
String serverName = args[0];
int port = Integer.parseInt(args[1]);
try {
System.out.println("连接到主机:" + serverName + " ,端口号:" + port);
Socket client = new Socket(serverName, port);
System.out.println("远程主机地址:" + client.getRemoteSocketAddress());
OutputStream outToServer = client.getOutputStream();
DataOutputStream out = new DataOutputStream(outToServer);
out.writeUTF("Hello from " + client.getLocalSocketAddress());
InputStream inFromServer = client.getInputStream();
DataInputStream in = new DataInputStream(inFromServer);
System.out.println("服务器响应: " + in.readUTF());
client.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}服务器端:
import java.net.*;
import java.io.*;
public class Server extends Thread {
private ServerSocket serverSocket;
public Server(int port) throws IOException {
serverSocket = new ServerSocket(port);
serverSocket.setSoTimeout(10000);
}
public void run() {
while(true) {
try {
System.out.println("等待客户端连接,端口号为:" + serverSocket.getLocalPort() + "...");
Socket server = serverSocket.accept();
System.out.println("远程主机地址:" + server.getRemoteSocketAddress());
DataInputStream in = new DataInputStream(server.getInputStream());
System.out.println(in.readUTF());
DataOutputStream out = new DataOutputStream(server.getOutputStream());
out.writeUTF("感谢连接我:" + server.getLocalSocketAddress() + "
Goodbye!");
server.close();
} catch (SocketTimeoutException s) {
System.out.println("Socket timed out!");
break;
} catch (IOException e) {
e.printStackTrace();
break;
}
}
}
public static void main(String [] args) {
int port = Integer.parseInt(args[0]);
try {
Thread t = new Server(port);
t.start();
} catch (IOException e) {
e.printStackTrace();
}
}
}这个程序演示了客户端和服务器之间的简单通信。当客户端运行时,它发送一个字符串给服务器,服务器响应该字符串。
Java中的网络编程可以使用TCP/IP和UDP等协议进行。 在编写网络程序时,需要使用Socket类和ServerSocket类。
以上仅是Java中网络编程的入门部分,关于网络编程还有许多需要深入了解的内容,例如数据包的发送和接收,多线程网络编程,以及通过HTTP访问Web服务器等。
以上就是Java 中的网络编程的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号