Java网络教程 – Java网络TCP客户端套接字
Socket 类表示一个TCP客户端套接字。
以下代码显示如何创建TCP客户端套接字:
// Create Socket for 192.168.1.2 at port 1234
Socket socket = new Socket("192.168.1.2", 1234);
以下代码显示如何创建未绑定的客户端套接字,绑定它并连接它。
Socket socket = new Socket();
socket.bind(new InetSocketAddress("localhost", 1234));
socket.connect(new InetSocketAddress("localhost", 1234));
在连接Socket对象之后,我们可以分别使用getInputStream()和getOutputStream()方法使用其输入和输出流。
例子
以下代码显示了基于TCP套接字的Echo客户端。
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.Socket;
public class Main {
public static void main(String[] args) throws Exception {
Socket socket = new Socket("localhost", 12900);
System.out.println("Started client socket at "
+ socket.getLocalSocketAddress());
BufferedReader socketReader = new BufferedReader(new InputStreamReader(
socket.getInputStream()));
BufferedWriter socketWriter = new BufferedWriter(new OutputStreamWriter(
socket.getOutputStream()));
BufferedReader consoleReader = new BufferedReader(
new InputStreamReader(System.in));
String promptMsg = "Please enter a message (Bye to quit):";
String outMsg = null;
System.out.print(promptMsg);
while ((outMsg = consoleReader.readLine()) != null) {
if (outMsg.equalsIgnoreCase("bye")) {
break;
}
// Add a new line to the message to the server,
// because the server reads one line at a time.
socketWriter.write(outMsg);
socketWriter.write("\n");
socketWriter.flush();
// Read and display the message from the server
String inMsg = socketReader.readLine();
System.out.println("Server: " + inMsg);
System.out.println(); // Print a blank line
System.out.print(promptMsg);
}
socket.close();
}
}

国外主机测评 - 国外VPS,国外服务器,国外云服务器,测评及优惠码













