A webserver echo back example was adapted for this purpose. It uses EthernetInterface.lib

https://developer.mbed.org/forum/mbed/topic/4630/

The TSL2561 is first written with a couple of bytes that power on the sensor, and set the integration time

The server will respond to all requests with 50 readings from the sensor at 50mS intervals (2.5 S total)

Here's the code for main.cpp . Screenshots of the results are posted in the gallery.
The Peach did not connect automatically to my network router, but when I connected it to my Ubuntu laptop, and set the network type to 'shared with other computers' , it connected fine, and the debug window displayed the IP address.

#include "mbed.h"
#include "EthernetInterface.h"
#include <stdio.h>
#include <string.h>

#define PORT   80

EthernetInterface eth;

TCPSocketServer svr;
bool serverIsListened = false;

TCPSocketConnection client;
bool clientIsConnected = false;

DigitalOut led1(LED2); //server listning status
DigitalOut led2(LED3); //socket connecting status

// Read temperature from TSL2561
I2C i2c(I2C_SDA , I2C_SCL ); 
const int addr8bit = 0x39 << 1; // 8bit I2C address


Ticker ledTick;

void ledTickfunc()
{
    if(serverIsListened)  {
        led1 = !led1;
    } else {
        led1 = false;
    }
}

int main (void)
{
    uint16_t i=0;
    // Initialize TS2561 luminosity sensor
    char cmd[2]={0x80 ,0x03 };
    i2c.write(addr8bit, cmd ,2);
    cmd[0] |=0x01; cmd[1] =  0x01 | 0x10; //timing control
    i2c.write(addr8bit, cmd ,2);

    //uint16_t vals[2000]={},i,v;
    ledTick.attach(&ledTickfunc,0.5);

    //setup ethernet interface
    eth.init(); //Use DHCP
    eth.connect();
    printf("IP Address is %s\n\r", eth.getIPAddress());

    //setup tcp socket
    if(svr.bind(PORT)< 0) {
        printf("tcp server bind failed.\n\r");
        return -1;
    } else {
        printf("tcp server bind successed.\n\r");
        serverIsListened = true;
    }

    if(svr.listen(1) < 0) {
        printf("tcp server listen failed.\n\r");
        return -1;
    } else {
        printf("tcp server is listening...\n\r");
    }

    //listening for http GET request
    while (serverIsListened) {
        //blocking mode(never timeout)
        if(svr.accept(client)<0) {
            printf("failed to accept connection.\n\r");
        } else {
            printf("connection success!\n\rIP: %s\n\r",client.get_address());
            clientIsConnected = true;
            led2 = true;
            
            while(clientIsConnected) {
                char buffer[10000] = {},src[30]={};
                switch(client.receive(buffer, 1023)) {
                    case 0:
                        printf("received buffer is empty.\n\r");
                        clientIsConnected = false;
                        break;
                    case -1:
                        printf("failed to read data from client.\n\r");
                        clientIsConnected = false;
                        break;
                    default:
                        printf("Recieved Data: %d\n\r\n\r%.*s\n\r",strlen(buffer),strlen(buffer),buffer);
                        if(buffer[0] == 'G' && buffer[1] == 'E' && buffer[2] == 'T' ) {
                            printf("GET request incomming.\n\r");
                            //setup http response header & data
                            char echoHeader[256] = {};
                            sprintf(buffer,"Reading 50 samples from From TSL2561 with 50mS per sample : \n\n");
                            
                            for(i=0;i<50;i++){
                                cmd[0] = 0x80 | 0x20 | 0x0C;
                                i2c.write(addr8bit, cmd ,1);
                                //cmd[0] = 0x00;
                                //i2c.write(addr8bit, cmd, 1);
                                i2c.read( addr8bit, cmd, 2);
                                int tmp = (int((cmd[1]<<8)|cmd[0]));
                                sprintf(src,"%d : %d\n",i,tmp);
                                strncat(buffer, src, strlen(src));
                                wait(0.05); //50mS
                                }
                            
                            sprintf(echoHeader,"HTTP/1.1 200 OK\n\rContent-Length: %d\n\rContent-Type: text\n\rConnection: Close\n\r\n\r",strlen(buffer));
                            client.send(echoHeader,strlen(echoHeader));
                            client.send(buffer,strlen(buffer));
                            clientIsConnected = false;
                            printf("echo back done.\n\r");
                        }
                        break;
                }
            }
            printf("close connection.\n\rtcp server is listening...\n\r");
            client.close();
            led2 = false;
        }
    }
}