上一篇博客中,我们了解了基于UDP协议下的发送与接收信息并完成了简单的java代码实现工作,今天咱们就一起来看一下基于TCP协议完成数据的发送与接收服务
主要步骤如下:
1、客户端发送数据
2、服务端接收数据
3、服务端转换数据
4、服务端发出数据
5、客户端接收数据
客户端:
package com.zzxtit.tcp;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
/**
*author 秦飞阳
*/
public class ClientDemo {
public static void main(String[] args) throws IOException{
//客户端发送数据
Socket s = new Socket(InetAddress.getByName("manxiaoyu"), 10086);
OutputStream os = s.getOutputStream();
String str = "hello tcp";
os.write(str.getBytes());
//客户端接收返回的数据
InputStream is = s.getInputStream();
byte[] bys = new byte[1024];
int len;
len=is.read(bys);
//输出
System.out.println(new String(bys,0,len));
os.close();
s.close();
}
}
服务端:
package com.zzxtit.tcp;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;
import javax.print.DocFlavor.INPUT_STREAM;
/**
*author 秦飞阳
*/
public class ServerDemo {
public static void main(String[] args) throws IOException {
//服务端接收数据
ServerSocket ss = new ServerSocket(10086);
Socket s = ss.accept();
InputStream is = s.getInputStream();
byte[] bys = new byte[1024];
int len;
len = is.read(bys);
String str = new String(bys);
System.out.println(str);
//服务端转化为大写
String upperStr = str.toUpperCase();
//服务端发送数据
OutputStream os = s.getOutputStream();
os.write(upperStr.getBytes());
//System.out.println(new String(bys));
s.close();
//ss.close();
}
}
ok,完毕。