TCP-客户端连接服务端
2016-08-13 09:26
211 查看
/*TCP-客户端连接服务端 演示tcp传输。 1,tcp分客户端和服务端 2,客户端对应的对象是Socket。 服务端对应的对象是ServerSocket */ /* 客户端, 通过查阅socket对象,发现在该对象建立时,就可以去连接指定主机。 因为tcp是面向连接的,所以在建立socket服务时, 就要有服务端存在,并连接成功,形成通路后,在该通道进行数据车来传输。 要求:给服务端发送一个文本数据。 步骤: 1,创建Socket服务,并指定要连接的主机和端口。 */ import java.io.*; import java.net.*; class TcpClient { public static void main(String[] args) throws Exception { //创建客户端的socket服务。指定目的主机和端口 Socket s = new Socket("192.168.1.254",10003); //为了发送数据,应该获取socket流中的输出流。 OutputStream out = s.getOutputStream(); out.write("tcp Socket has connected".getBytes());//写的是数组数据,用getBytes()转化 s.close();//关闭 } } /* 要求:定义端点接收数据并打印在控制台上. 服务端: 1,建立服务端的socket服务.ServerSocket(); 并监听一个端口. 2,获取连接过来的客户端对象. 通过ServerSocket 的 accept方法.返回值是Socket 没有连接就会等,所以这个方法是阻塞式的 3,客户端如果发过来数据,那么服务端要使用对应的客户端对象,并获取到该客户端对象的读取流来读取发过来的数据. 并打印在控制台 4,关闭服务端.(可选) */ class TcpServer { public static void main(String[] args) throws Exception { //建立服务端socket服务,并监听一个端口. ServerSocket ss = new ServerSocket(10003); //通过accept方法获取连接过来的客户端对象.使用客户端的流对象进行通讯 //accept()是ServerSocket服务端的方法 Socket s = ss.accept(); String ip = s.getInetAddress().getHostAddress(); //InetAddress, getInetAddress() //返回套接字连接的地址。 // String, getHostAddress() //返回 IP 地址字符串(以文本表现形式)。 System.out.println(ip+"..connected"); //获取客户端发送过来的数据,那么要使用客户端对象的读取流 来读取数据. InputStream in = s.getInputStream(); byte[] buf = new byte[1024];//创建缓冲区 int len = in.read(buf);//读取数据,存入buf System.out.println(new String(buf,0,len));//len是长 //构造方法摘要 //String(byte[] bytes, int offset, int length) //通过使用平台的默认字符集解码指定的 byte 子数组,构造一个新的 String。 s.close();//关闭客户端 ss.close();//关闭 } }
相关文章推荐
- 没有任何关闭socket的日志,客户端和服务端进程都在, 网络连接完好, 为什么进行某操作后好好的tcp连接莫名其妙地断了呢?
- .Net网络编程——使用TcpClient与TcpListener建立客户端与服务端连接
- Python 服务端与客户端 TCP连接
- .Net网络编程——使用TcpClient与TcpListener建立客户端与服务端连接
- C# Socket TCP 编程,客户端与服务端连接,发送字符串,文件
- C# Socket TCP 编程,客户端与服务端连接,发送字符串,文件
- 及时释放服务端与客户端之间的TCP连接的方法
- 基于libuv实现tcp客户端和服务端(支持监听1000多个端口;打印客户端服务端socket;固定端口连接)
- 没有任何关闭socket的日志,客户端和服务端进程都在, 网络连接完好, 为什么进行某操作后好好的tcp连接莫名其妙地断了呢?
- 【VS开发】TCP服务端如何判断客户端断开连接
- Tcp服务端判断客户端是否断开连接
- tcp 服务端如何判断客户端断开连接
- TCP客户端频繁连接退出,服务端避免内存的重复开辟
- 客户端与多服务端的TCP连接状态问题
- Tcp服务端判断客户端是否断开连接
- Tcp服务端判断客户端是否断开连接
- 【socket编程】 一个简单的基于TCP连接的客户端、服务端用例
- TCP中多个客户端一个服务端通信(长连接)
- connect函数和accept函数哪个先返回? 客户端和服务端哪个先完成建立tcp连接?
- 基于Socket的TCP长连接(服务端Java+客户端Android),Service配合AIDL实现