服务端:
1, 创建socket服务器服务,服务器端为了让客户端可以连接上,必须提供端口,监听一个端口
2,获取客户端对象,通过客户端的socket流和对应的客户端进行通信
3,获取客户端的socket流的读取流
4,读取数据并显示在服务器端
5,关闭资源
package cn.net.tcp;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class tcpServer {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
System.out.println("服务器启动....");
ServerSocket ss = new ServerSocket(10003);
Socket s = ss.accept();
InputStream in =s.getInputStream();
byte[] buf = new byte[1024];
int len = in.read(buf);
String str = new String(buf,0,len);
System.out.println(str);
OutputStream out = s.getOutputStream();
out.write("我知道你来了..".getBytes());
s.close();
ss.close();
}
}
客户端:
1,建立tcp客户端服务
因为是面向连接,必须有连接才可以进行通信
在创建客户端时,就必须明确目的的地址和端口
2,一旦连接建立,就有了传输数据的通道。就可以在通道中进行数据传输,
这个传输其实就是通过流实现的。这个流就是 socket io流。
3,只要获取socket io中的写动作就可以数据写到socket流中发送给服务端
4,关闭资源。
package cn.net.tcp;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.net.UnknownHostException;
public class tcpClient {
/**
* @param args
* @throws IOException
* @throws UnknownHostException
*/
public static void main(String[] args) throws UnknownHostException, IOException {
System.out.println("客户端启动....");
Socket s = new Socket("127.0.0.1",10003);
OutputStream out = s.getOutputStream();
out.write("又要注意了,tcp来了。".getBytes());
InputStream in =s.getInputStream();
byte[] b = new byte[1024];
int len = in.read(b);
String str = new String(b,0,len);
System.out.println(str);
s.close();
}
}