update socket proramming