您的位置:首页 > 理论基础 > 计算机网络

TCP协议

2015-12-17 13:46 453 查看
package cn.itcast_01;

import java.io.IOException;

import java.io.OutputStream;

import java.net.InetAddress;

import java.net.Socket;

/*

* TCP协议发送数据:

* A:创建发送端的Socket对象

* 这一步如果成功就说明链接已经建立成功了

* B:获取输出流,写数据。

* C:释放数据

*

* TCP协议一定要开服务器

*/

public class ClientDemo {

public static void main (String [] args) throws IOException{

//创建发送端的Socket对象

//Socket(InetAddress address ,int port )

//Socket(String host , int port)

Socket s= new Socket(InetAddress .getByName("182.180.57.141"),8888);

//获取输出流

//public OutputStream getOutputStream()

OutputStream os = s.getOutputStream();

os.write("hello,tcp,我来啦".getBytes());

//释放资源

s.close();

}

}

package cn.itcast_01;

import java.io.IOException;

import java.io.InputStream;

import java.net.ServerSocket;

import java.net.Socket;

/*

* TCP协议接收数据

* A:创建接收端的Socket对象

* B:监听客户端连接,返回一个对应的Socket对象

* C:获取输入流,读取数据,显示在控制台

* D:释放资源

*/

public class ServerDemo {

public static void main(String [] args ) throws IOException{

//创建接受的Socket对象

//ServerSocket(int port)

ServerSocket ss = new ServerSocket(8888);

//监听客户端连接返回一个对应的Socket对象

Socket s = ss.accept();//侦听并接受到此套接字的连接,此方法连接传入前一直阻塞

//获取输入流,读取数据显示在控制台

InputStream is = s.getInputStream();

byte[] bys = new byte[1024];

int len = is.read(bys);//阻塞式方法

String str =new String(bys,0,len);

System.out.println(str);

//释放资源

s.close();//关闭因为不止一个客户端

//ss.close();服务器不应该关闭

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: