Flask接口签名sign原理与实例代码浅析
354
2022-11-29
Java实现TCP互发消息
本文实例为大家分享了java实现TCP互发消息的具体代码,供大家参考,具体内容如下
TCP客户端:
package tcp;
import java.io.IOException;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket;
public class TcpClient {
public static void main(String[] args) {
Socket socket =null;
OutputStream os =null;
try {
//创建socket对象,指明服务器端的ip和端口号
InetAddress inet = InetAddress.getByName("127.0.0.1");
socket = new Socket(inet, 8888);
//获取一个输出流,用于输出数据
os = socket.getOutputStream();
//写出数据的操作
os.write("你好,我是客户端".getBytes());
}catch(IOException e){
e.printStackTrace();
}finally {
//资源的关闭
if(os!=null){
try{
os.close();
}catch (IOException e){
e.printStackTrace();
}
}
if(socket!=null){
try {
socket.close();
}catch (IOException e){
e.printStackTrace();
}
}
}
}
}
TCP服务端:
package tcp;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
class TcpServer{
public static void main(String[] args) {
ServerSocket ss=null;
Socket socket=null;
InputStream is=null;
ByteArrayOutputStream baos =null;
try {
//创建服务器端的ServerSocket,指明自己的端口
ss = new ServerSocket(8888);
//调用accept()表示接收来自于客户端的socket
socket = shttp://s.accept();
//获取输入流中的数据
is = socket.getInputStream();
/*读取输入流中的数据(ByteArrayOutputStream可以把字节一次性记录下来,
这样就可以避免一些字符的字节码不一致导致发送后解析出现乱码;
ByteArrayOutputStream的功能与StringBuilder的作用有异曲同工之妙。)
*/
baos = new ByteArrayOutputStream();
byte[] buffer = new byte[5];
int len;
while ((len = is.read(buffer)) != -1) {
baos.write(buffer, 0, len);
}
System.out.println(baos.toString());
}catch (IOException e){
e.printStackTrace();
}
finally{
//关闭流
if (baos!=null){
try {
baos.close();
}catch (IOException e){
e.printStackTrace();
}
}
if (is!=null){
try {
is.close();
}catch (IOException e){
e.printStackTrace();
}
}
if (socket!=null){
try {
socket.close();
}http://catch (IOException e){
e.printStackTrace();
}
}
if (ss!=null){
try {
ss.close();
}catch (IOException e){
e.printStackTrace();
}
}
}
}
}
注意:在Intellij idea中运行时,需先打开两个端的平行运行设置,操作如下:
最后的运行结果如下:
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~