ECHO! Echo! echo. (echo) Your challenge, should you choose to accept it, is simple:

Implement RFC 862, also known as the Echo Protocol:

The Echo protocol

An echo service simply sends back to the originating source any data it receives.

TCP Based Echo Service

One echo service is defined as a connection based application on TCP. A server listens for TCP connections on TCP port 7.  Once a connection is established any data received is sent back.  This continues until the calling user terminates the connection.

UDP Based Echo Service

Another echo service is defined as a datagram based application on UDP.  A server listens for UDP datagrams on UDP port 7.  When a datagram is received, the data from it is sent back in an answering datagram.

Scoring


The score is one point for every byte of code as encoded in UTF-8 or a language-specific code page, whichever is smaller.
If the program incompletely implements RFC 862 by providing only UDP or only TCP, the score is doubled.
If the program incorrectly implements RFC 862 by either using a port other than 7 or by dropping or transforming certain bytes due to language limitations or corner cutting, the score is quadrupled. (This stacks with the preceding point if applicable.)
If the program is invalid, the score is ω.


Rules

A valid program:


Does not use standard loopholes.
Per connection:


Accepts connections and receive incoming data.
Sends outgoing data in an amount that is always less than or equal to the amount of data received.

Does not invoke programs external to itself. (Spawning children to deal with multiple connections is fine, spinning up inetd or its local equivalent is not.)
Does not use library functions specifically designed to start and maintain an echo service.


This is code golf, so lowest score wins.
Python, 299 295 265 263
from threading import*
from socket import*
a='',7;S=socket
u=S(2,2);u.bind(a)
def U():
 while 1:u.sendto(*u.recvfrom(4**8))
Thread(None,U).start()
def C(c,x):
 while c.send(c.recv(1)):1
s=S(2,1);s.bind(a);s.listen(1)
while 1:Thread(None,C,args=s.accept()).start()

handles both udp and tcp.
@MorganThrapp helped saving 33 (!) chars