socket通信属于TCP协议,是可靠的传输协议,内部进行了3次握手来确认信息传输的有效性,不丢失。
客户端socket向服务端serversocket发送消息
ClientSocketDemo 运行在A电脑,ServerSocketDemo 运行在B电脑,要保证通信成功,首先确保A,B在同一个网络下(A可以pingB,如通说明在同一个网络下);B电脑的8080防火墙端口要打开(测试时,简单点可以把B的防火墙暂时关闭)

package lessons18;

import java.io.IOException;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;

public class ClientSocketDemo {

public static void main(String[] args) throws UnknownHostException, IOException {
// TODO Auto-generated method stub
Socket socket = new Socket("192.168.3.2", 8080);
PrintWriter out = new PrintWriter(socket.getOutputStream());
out.println("aa");
out.println("bb");
out.println("cc");
out.close();
socket.close();

}

}
package lessons18;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class ServerSocketDemo {

public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
ServerSocket serverSocket = new ServerSocket(8080); //端口
//socket对象封装客户端数据
Socket socket = serverSocket.accept();
//阻塞

//从什么地方获取输入流 就是从什么地方读取数据
InputStream inputStream = socket.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(
inputStream));
String str = null;
while ((str = reader.readLine()) != null) {
System.out.println(str);
}
reader.close();
inputStream.close();
socket.close();

}

}