java-socket通信

此页面是否是列表页或首页?未找到合适正文内容。

java-socket通信

标签:remtputremote远程主机socromwritehellocal

Socket 客户端实例

如下的 GreetingClient 是一个客户端程序,该程序通过 socket 连接到服务器并发送一个请求,然后等待一个响应。

// 文件名 GreetingClient.java

import java.net.*;
import java.io.*;

public class GreetingClient
{
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();
}
}
}

Socket 服务端实例

如下的GreetingServer 程序是一个服务器端应用程序,使用 Socket 来监听一个指定的端口。

// 文件名 GreetingServer.java

import java.net.*;
import java.io.*;

public class GreetingServer extends Thread
{
private ServerSocket serverSocket;

public GreetingServer(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() + \”\\nGoodbye!\”

作者: 库巴司机

为您推荐

返回顶部