网络编程-TCP程序实例(简单上传图片)

package netTest;

/*
 * 客户端:
 *     1.服务端点
 *  2.读取客户端已有的图片数据
 *  3.通过socket输出流将数据发给服务端
 *  4.读取服务端的反馈信息
 *  5.关闭。
 *
 */
import java.io.*;
import java.net.*;
import java.util.concurrent.SynchronousQueue;
public class Client {
    public static void main(String[] args) throws Exception {
        Socket s = new Socket(InetAddress.getLocalHost(),6333);
        FileInputStream fis = new FileInputStream("1.jpg");
        OutputStream out = s.getOutputStream();
        byte[] buf = new byte[1024];
        int len = 0;
        while((len = fis.read(buf))!=-1){
            out.write(buf,0,len);
        }
        // 告诉服务端数据以写完
        s.shutdownOutput();
        InputStream in = s.getInputStream();
        byte[] bufIn =new byte[1024];
        int num = in.read(bufIn);
        System.out.println(new String(bufIn,0,num));
        fis.close();
        s.close();
    }
}

package netTest;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class Server {

    public static void main(String[] args) throws Exception {
        // TODO Auto-generated method stub
        ServerSocket ss = new ServerSocket(6333);
        // 得到客户端对象
        Socket s = ss.accept();
        InputStream in = s.getInputStream();
        FileOutputStream fos = new FileOutputStream("2.jpg");
        byte[] buf = new byte[1024];
        int len = 0;
        while((len = in.read(buf))!=-1){
            fos.write(buf,0,len);
        }
        OutputStream out = s.getOutputStream();
        out.write("上传成功".getBytes());
        out.close();
        s.close();
        ss.close();
    }

}
时间: 2024-12-25 23:57:46

网络编程-TCP程序实例(简单上传图片)的相关文章

网络编程-TCP程序实例(client端heserver端相互通信)

1 package com.yyq; 2 3 import java.io.IOException; 4 import java.io.InputStream; 5 import java.io.OutputStream; 6 import java.net.InetAddress; 7 import java.net.Socket; 8 9 10 /* 11 * 演示tcp的传输的客户端和服务端的互访 12 * 需求:客户端给服务端发送数据服务端获取信息后给客户端回送数据 13 */ 14 /

网络编程-TCP程序实例(只是发送了数据,在服务器显示)

package com.yyq; import java.io.IOException; import java.io.OutputStream; import java.net.InetAddress; import java.net.Socket; import java.net.UnknownHostException; /* * tcp传输 * 1,tcp分为客户端和服务端 * 2,客户端对应的对象是socket * 服务器端对性的对象是serversocket */ /* * 客户端

网络编程-TCP程序实例(上传文件)

package netTest; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.InetAddress; import java.net.Socket; impo

Java网络编程TCP程序,服务器和客户机交互流程以及基本操作步骤。

1.什么是网络编程 网络编程其实就是实现两个计算机的数据交换(交互). 可以通过直接或间接的通过网络协议与其他的计算机进行通讯.(HTTP协议,TCP/IP协议等) 2.Tcp网络编程的实现流程 主要分为服务器端(Server)和客户端(Client). 通过这个图我们其实就可以了解了实现服务器和客户机交互过程是怎么样的了. 实现这些原理最重要的是Socket类也叫做套接字.应用程序通常通过"套接字"向网络发出请求或者应答网络请求. 服务器端 1.首先创建ServerSocket对象并

网络编程-UDP程序实例(基础)

1 package com.yyq; 2 3 import java.net.DatagramPacket; 4 import java.net.DatagramSocket; 5 import java.net.InetAddress; 6 import java.net.Socket; 7 import java.net.SocketException; 8 import java.nio.charset.MalformedInputException; 9 10 /* 11 * Socke

3.网络编程-tcp的服务器简单实现

#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2019/1/13 22:03 # @Author : ChenAdong # @email : [email protected] # 实现tcp服务器轮流向多个客户端服务(同时只有一个客户端接受服务) import socket def tcp_server(): # 创建套接字 socket_serve = socket.socket(socket.AF_INET, socket

Socket网络编程(TCP/IP/端口/类)和实例

Socket网络编程(TCP/IP/端口/类)和实例 原文:C# Socket网络编程精华篇 转自:微冷的雨 我们在讲解Socket编程前,先看几个和Socket编程紧密相关的概念: TCP/IP层次模型 当然这里我们只讨论重要的四层 01,应用层(Application):应用层是个很广泛的概念,有一些基本相同的系统级TCP/IP应用以及应用协议,也有许多的企业应用和互联网应用.http协议在应用层运行. 02,传输层(Tanspot):传输层包括UDP和TCP,UDP几乎不对报文进行检查,而

Socket网络编程--聊天程序(6)

这一小节将增加一个用户的结构体,用于保存用户的用户名和密码,然后发给服务器,然后在服务器进行判断验证.这里就有一个问题,以前讲的就是发送字符串是使用char类型进行传输,然后在服务器进行用同样是字符串进行接收.然而作为一个结构体是不是也可以呢?如果有看send或recv的函数定义就知道第二个参数是void *类型,也就是说这两个函数对传入的类型其实是不做要求的,只是要你传输个地址,然后后面接一个大小就可以了.就是要send在这个地址取值,去大小为size个,然后传输.学过TCP/IP就知道,我们

网络编程TCP总结及实践-C语言

网络变成首先要注意IP和端口的转换,现在电脑基本上是主机字节序,存储按照小端方式,而在网络中传输统一使用大端方式,所以网络变成首先要注意字节序的转换. 一个常用的ip转换程序的实现: #include <stdio.h> #include <string.h> #include <stdlib.h> #include <unistd.h> #define CHIP(ip) (ip&0xff)<<24 |(ip&(0xff<&