IP地址?端口号?主机名?
什么是Socket?
什么是UDP?
什么是TCP?
UDP和TCP区别?
以上问题请自行百度,有标准解释,此处不再赘述,直接上干货!
实例:
发送端:
public class TCPClient {
public static void main(String[] args) throws IOException {
//创建Socket对象
Socket s = new Socket(InetAddress.getByName("127.0.0.1"),10086);
//获取输出流对象
OutputStream os = s.getOutputStream();
//发送数据
String str = "This TCP,im comming";
os.write(str.getBytes());
//释放
s.close();
}
}
接收端:
public class TCPServer {
public static void main(String[] args) throws IOException {
//创建Socket对象
ServerSocket ss = new ServerSocket(10086);
//监听(阻塞)
Socket s = ss.accept();
//获取输入流对象
InputStream is = s.getInputStream();
//获取数据
byte[] bys = new byte[1024];
int len;
len = is.read(bys);
//输出数据
InetAddress address = s.getInetAddress();
System.out.println("sender:"+address);
System.out.println(new String(bys,0,len));
//释放
s.close();
/*
* 说明:
* 当你访问百度的时候,退出了,它的服务就关了吗? 不关,还会继续监听
*/
}
}
测试:
先运行server服务端,开启监听
在开启发送端
服务器就会监听到发送端发来的消息
最后附上API 文档说明,防止有些人看不懂代码