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

java网络编程(5)——Tcp

2015-08-02 09:33 453 查看
  Tcp相对于Udp就是面向连接的协议,最主要的特点要建立连接之后才能通信,客户端用Socket需要指点地址与端口,服务端用ServeSocket,只需指点监听某个端口,因为是面向连接,所以服务器端一定要先运行起来,然后客户端就可以通过地址和端口找到我们的服务端,建立连接之后就可以通信!

  首先实现最简单的服务端,客户端通信的一个小例子

客户端:

package com.seven.tcp;

import java.io.OutputStream;
import java.net.Socket;

public class TcpClient {

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

Socket socket = new Socket("127.0.0.1",10001);

OutputStream out = socket.getOutputStream();

out.write("hello tcp".getBytes());

socket.close();
}
}


服务端:

package com.seven.tcp;

import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class TcpServer {

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

ServerSocket serverSocket = new ServerSocket(10001);

//获取客户端socket
Socket socket = serverSocket.accept();

InputStream in = socket.getInputStream();

byte[] b = new byte[1024];

while(true){
int len = in.read(b);
if(len == -1) break;
System.out.println(socket.getInetAddress()+"---->"+new String(b,0,len));
}
socket.close();
}
}


这样就实现了客户端服务端之间的通讯,其实主要都是通过socket对象实现的,客户端socket的OutputStream对应服务端socket的InputStream,而服务端的OutputStream就对应客户端的InputStream,通过这两个流就实现了通信,包括文本,图片,文件等,只需把文件变成字节流就可以通过tcp来传输!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: