Чтение и анализ штатов США при помощи сокетов
Сокеты, как и другие потоки, могут читаться и анализироваться через операции с потоками.
Откройте соединение с сервером, содержащим текстовую информацию.
In[1]:=
socket = SocketConnect["http://exampledata.wolfram.com"]
Out[1]=
Запишите строку, содержащую GET запрос для текстового файла со всеми штатами США.
In[2]:=
WriteLine[socket, "GET /50states.txt HTTP/1.0 \n"]
Считайте первую строку ответа.
In[3]:=
ReadLine[socket]
Out[3]=
Считайте все оставшиеся строки.
In[4]:=
output = ReadString[socket];
Проверьте середину строки для определения начала новой строки в спискe штатов.
In[5]:=
StringTake[output, {277, 347}]
Out[5]=
Используйте SemanticImportString для анализа выходных данных и удалите любые элементы, которые не смогли пройти анализ.
In[6]:=
states = DeleteMissing[SemanticImportString[output]]
Out[6]=
Проверьте, что все штаты были действительно перечислены.
In[7]:=
Equal[Length[states],
Length[EntityList[
EntityClass["AdministrativeDivision", "USStatesAllStates"]]]]
Out[7]=
Закройте поток.
In[8]:=
Close[socket]