首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过ServerSocket和ServerSocket类连接到服务器

通过ServerSocket和ServerSocket类连接到服务器
EN

Stack Overflow用户
提问于 2018-12-07 02:44:12
回答 1查看 1.9K关注 0票数 1

我有一个很简单的问题。我正在编写一系列的java程序,这些程序使用RSA、El等加密函数作为安全类。以便客户端(Alice)和服务器(Bob)能够安全地通信。但是,我不知道如何使用java连接到计算机上的服务器。我使用MAMP连接到一个web服务器,在那里我用PHP/SQL编写了代码,但我不知道它如何使用Java。具体来说,提供给我的初学者文件都使用Java类套接字和ServerSocket,如下所示:

代码语言:javascript
复制
String host = "localhost";
int port = 7999;
Socket s = new Socket(host, port);
ObjectOutputStream os = new ObjectOutputStream(s.getOutputStream());

对于服务器(Bob):

代码语言:javascript
复制
int port = 7999;
ServerSocket s = new ServerSocket(port);
Socket client = s.accept();
ObjectInputStream is = new ObjectInputStream(client.getInputStream());

在我的计算机上通过这段代码连接到服务器应该做些什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-07 03:39:47

Client.java

代码语言:javascript
复制
import java.io.*;
import java.net.*;

public class Client {

    public static void main(String[] args) throws Exception {

        String host = "localhost";
        int port = 7999;
        Socket s = new Socket(host, port);
        ObjectOutputStream os = new ObjectOutputStream(s.getOutputStream());

        os.writeObject("Hello World");
        os.close();
    }

}

Server.java

代码语言:javascript
复制
import java.io.*;
import java.net.*;

public class Server {

    public static void main(String[] args) throws Exception {

        int port = 7999;
        ServerSocket s = new ServerSocket(port);
        Socket client = s.accept();
        ObjectInputStream is = new ObjectInputStream(client.getInputStream());

        String str = (String)is.readObject();

        System.out.println("Read string: " + str);

        is.close();
    }

}

代码语言:javascript
复制
javac Client.java

代码语言:javascript
复制
javac Server.java

运行服务器(可以在同一台计算机上测试这两种运行情况)。

代码语言:javascript
复制
java Server

运行客户机(在另一个终端或DOS提示符中)。

代码语言:javascript
复制
java Client

在服务器上,您应该看到:

代码语言:javascript
复制
server$ java Server 
Read string: Hello World
server$ 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53662505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档