Чтобы сериализовать объект, выполните:
using (StreamWriter myWriter = new StreamWriter(path, false))
{
XmlSerializer mySerializer = new XmlSerializer(typeof(your_object_type));
mySerializer.Serialize(myWriter, objectToSerialize);
}
Также помните, что для работы XmlSerializer нужен конструктор без параметров.
Ниже код делает то, что вы хотите, но на базовом уровне для закрытия соединения одного клиента. Вы должны реструктурировать свой код для обработки нескольких клиентов, если хотите. Лучшей идеей будет запуск нового потока для каждого соединения одного и того же сокетного соединения, чтобы вы могли обрабатывать их отдельно.
import socket
import _thread
import os
clear = lambda: os.system("cls")
port = 1026
try:
Server = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
Server.bind(("127.0.0.1",1026))
Server.listen(2)
print("--------------------------------------")
print("Server running on port %s" % str(port))
print("--------------------------------------")
except Exception:
print("error while starting server")
input()
exit()
def control(sock):
while True:
command = input()
if command == "exit()":
sock.close()
os._exit(0)
#interrupt code here
while True:
con,ip = Server.accept()
_thread.start_new_thread(control,(con,))
print(str(ip) + " Connected")
try:
cmd = str(con.recv(1024).decode()) #<-- interrupt this line
except Exception:
print("Error")