上一篇博客中,我們瞭解了基於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,完畢。