TCP通信的客户端代码实现
程序员文章站
2022-06-06 07:54:25
...
/**
- @author 许泽鑫
- @data 2019/10/11 - 14:47
- TCP通信的客户端:向服务器发送连接请求,给服务器发送数据,读取服务器回写的数据
- 表示客户端的类:
- java.net.Socket:此类实现客户端套接字.套接字是两台机器间通信的端点
- 套接字:包含了IP地址和端口号的网络单位
- 构造方法:
- Socket(String host,int port):创建一个流套接字并将其连接到指定主机上的指定端口号
- 参数: String host:服务器主机的名称/服务器的IP地址
-
int port:服务器的端口号
- 成员方法:
-
OutputStream getOutputStream()返回此套接字的输出流
-
InputStream getInputStream()返回套接字的输入流
-
close():关闭此套接字
- 实现步骤:
-
1.创建一个客户端对象Socket,构造方法绑定服务器的IP地址和端口号
-
2.使用Socket对象中的方法getOutputStream()获取网络字节输出流OutputStream对象
-
3.使用网络字节输出流OutputStream对象中的方法write,给服务器发送数据
-
4.使用Socket对象中的方法getInputStream()获取网络字节输入流InputStream对象
-
5.使用网络字节输入流InputStream对象中的read()方法,读取服务器回写的数据
-
6.释放资源close()
- 注意:
- ①客户端和服务器短进行交互,必须使用Socket中提供的网络流,不能使用自己创建的流对象
- ②当我们创建客户端对象Socket的时候,就会去请求服务器和服务器经过三次握手建立连接通路
- 这时服务器如果没有启动,那么就会抛出异常
- 如果服务器已经启动,那么就可以进行交互
*/
public class TCPClient {
public static void main(String[] args) throws IOException {
// 1.创建一个客户端对象Socket,构造方法绑定服务器的IP地址和端口号
Socket socket = new Socket("127.0.0.1",8888);
// 2.使用Socket对象中的方法getOutputStream()获取网络字节输出流OutputStream对象
OutputStream os = socket.getOutputStream();
os.write("你好服务器".getBytes());
// 4.使用Socket对象中的方法getInputStream()获取网络字节输入流InputStream对象
InputStream is = socket.getInputStream();
// 5.使用网络字节输入流InputStream对象中的read()方法,读取服务器回写的数据
byte[] bytes = new byte[1024];
int len = is.read(bytes);
System.out.println(new String(bytes,0,len));
// 6.释放资源close()
socket.close();
}
}
上一篇: ubuntu20.04下安装gambas的正确方法
下一篇: ps简单制作漂亮的宇宙光束
推荐阅读
-
php生成饼图效果的实现代码
-
CSS实现的兼容所有浏览器的div悬浮在网页一侧的代码_html/css_WEB-ITnose
-
php比较多维数组中值的大小排序实现代码_php技巧
-
扩展javascript的Date方法实现代码(prototype)_javascript技巧
-
如果想用php代码操作另一台服务器的文件,怎么实现?
-
jQuery实现可收缩展开的级联菜单实例代码_javascript技巧
-
PHP数组的定义、初始化和数组元素的显示实现代码
-
js 图片随机不定向浮动的实现代码_javascript技巧
-
PHP定时自动生成静态HTML的实现代码
-
memcache 用PHP写的基于Memcache的Queue实现代码