wxSocketServer test added to console sample
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6741 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -1008,12 +1008,7 @@ dnl ---------------------------------------------------------------------------
|
|||||||
WX_ARG_ENABLE(intl, [ --enable-intl use internationalization system], wxUSE_INTL)
|
WX_ARG_ENABLE(intl, [ --enable-intl use internationalization system], wxUSE_INTL)
|
||||||
WX_ARG_ENABLE(config, [ --enable-config use wxConfig (and derived) classes], wxUSE_CONFIG)
|
WX_ARG_ENABLE(config, [ --enable-config use wxConfig (and derived) classes], wxUSE_CONFIG)
|
||||||
|
|
||||||
dnl can't use sockets without GUI so far
|
|
||||||
if test "$wxUSE_GUI" = "yes"; then
|
|
||||||
WX_ARG_ENABLE(sockets, [ --enable-sockets use socket/network classes], wxUSE_SOCKETS)
|
WX_ARG_ENABLE(sockets, [ --enable-sockets use socket/network classes], wxUSE_SOCKETS)
|
||||||
else
|
|
||||||
wxUSE_SOCKETS=no
|
|
||||||
fi
|
|
||||||
|
|
||||||
WX_ARG_ENABLE(dialupman, [ --enable-dialupman use dialup network classes], wxUSE_DIALUP_MANAGER)
|
WX_ARG_ENABLE(dialupman, [ --enable-dialupman use dialup network classes], wxUSE_DIALUP_MANAGER)
|
||||||
WX_ARG_ENABLE(ipc, [ --enable-ipc use interprocess communication (wxSocket etc.)], wxUSE_IPC)
|
WX_ARG_ENABLE(ipc, [ --enable-ipc use interprocess communication (wxSocket etc.)], wxUSE_IPC)
|
||||||
|
@@ -137,13 +137,13 @@ framecmn.cpp C
|
|||||||
fs_inet.cpp C B
|
fs_inet.cpp C B
|
||||||
fs_zip.cpp C B
|
fs_zip.cpp C B
|
||||||
fs_mem.cpp C B
|
fs_mem.cpp C B
|
||||||
ftp.cpp C S
|
ftp.cpp C S,B
|
||||||
gdicmn.cpp C
|
gdicmn.cpp C
|
||||||
geometry.cpp C
|
geometry.cpp C
|
||||||
gifdecod.cpp C
|
gifdecod.cpp C
|
||||||
hash.cpp C B
|
hash.cpp C B
|
||||||
helpbase.cpp C
|
helpbase.cpp C
|
||||||
http.cpp C S
|
http.cpp C S,B
|
||||||
imagbmp.cpp C
|
imagbmp.cpp C
|
||||||
image.cpp C
|
image.cpp C
|
||||||
imagall.cpp C
|
imagall.cpp C
|
||||||
@@ -155,7 +155,7 @@ imagpng.cpp C 32
|
|||||||
imagpnm.cpp C 32
|
imagpnm.cpp C 32
|
||||||
init.cpp B
|
init.cpp B
|
||||||
intl.cpp C B
|
intl.cpp C B
|
||||||
ipcbase.cpp C
|
ipcbase.cpp C B
|
||||||
layout.cpp C
|
layout.cpp C
|
||||||
lboxcmn.cpp C
|
lboxcmn.cpp C
|
||||||
list.cpp C B
|
list.cpp C B
|
||||||
@@ -172,15 +172,15 @@ odbc.cpp C R,X,P
|
|||||||
paper.cpp C
|
paper.cpp C
|
||||||
prntbase.cpp C
|
prntbase.cpp C
|
||||||
process.cpp C 32,B
|
process.cpp C 32,B
|
||||||
protocol.cpp C S
|
protocol.cpp C S,B
|
||||||
resource.cpp C
|
resource.cpp C
|
||||||
sckaddr.cpp C S
|
sckaddr.cpp C S,B
|
||||||
sckfile.cpp C S
|
sckfile.cpp C S,B
|
||||||
sckipc.cpp C S
|
sckipc.cpp C S,B
|
||||||
sckstrm.cpp C S
|
sckstrm.cpp C S,B
|
||||||
serbase.cpp C B
|
serbase.cpp C B
|
||||||
sizer.cpp C
|
sizer.cpp C
|
||||||
socket.cpp C S
|
socket.cpp C S,B
|
||||||
stream.cpp C B
|
stream.cpp C B
|
||||||
strconv.cpp C B
|
strconv.cpp C B
|
||||||
string.cpp C B
|
string.cpp C B
|
||||||
@@ -191,7 +191,7 @@ timercmn.cpp C B
|
|||||||
tokenzr.cpp C B
|
tokenzr.cpp C B
|
||||||
txtstrm.cpp C B
|
txtstrm.cpp C B
|
||||||
unzip.c C B
|
unzip.c C B
|
||||||
url.cpp C S
|
url.cpp C S,B
|
||||||
utilscmn.cpp C B
|
utilscmn.cpp C B
|
||||||
valgen.cpp C
|
valgen.cpp C
|
||||||
validate.cpp C
|
validate.cpp C
|
||||||
@@ -204,7 +204,7 @@ wxexpr.cpp C
|
|||||||
zipstrm.cpp C B
|
zipstrm.cpp C B
|
||||||
zstream.cpp C B
|
zstream.cpp C B
|
||||||
|
|
||||||
gsocket.c M S
|
gsocket.c M S,B
|
||||||
gsockmsw.c M S
|
gsockmsw.c M S
|
||||||
accel.cpp M
|
accel.cpp M
|
||||||
app.cpp M
|
app.cpp M
|
||||||
@@ -316,7 +316,7 @@ fontutil.cpp U
|
|||||||
mimetype.cpp U B
|
mimetype.cpp U B
|
||||||
threadpsx.cpp U B
|
threadpsx.cpp U B
|
||||||
utilsunx.cpp U B
|
utilsunx.cpp U B
|
||||||
gsocket.c U
|
gsocket.c U B
|
||||||
mimetype.cpp U B
|
mimetype.cpp U B
|
||||||
|
|
||||||
gsockgtk.c R
|
gsockgtk.c R
|
||||||
|
@@ -299,9 +299,6 @@ void MyFrame::OnAllowYearUpdate(wxUpdateUIEvent& event)
|
|||||||
MyPanel::MyPanel(wxFrame *frame)
|
MyPanel::MyPanel(wxFrame *frame)
|
||||||
: wxPanel(frame, -1)
|
: wxPanel(frame, -1)
|
||||||
{
|
{
|
||||||
// using constraints doesn't work under GTK - the calendar window is never
|
|
||||||
// repainted after it had been moved at least once!
|
|
||||||
#if 1
|
|
||||||
SetAutoLayout(TRUE);
|
SetAutoLayout(TRUE);
|
||||||
|
|
||||||
wxString date;
|
wxString date;
|
||||||
@@ -331,19 +328,6 @@ MyPanel::MyPanel(wxFrame *frame)
|
|||||||
c->width.AsIs();
|
c->width.AsIs();
|
||||||
|
|
||||||
m_calendar->SetConstraints(c);
|
m_calendar->SetConstraints(c);
|
||||||
#else
|
|
||||||
wxString date;
|
|
||||||
date.Printf("Selected date: %s",
|
|
||||||
wxDateTime::Today().FormatISODate().c_str());
|
|
||||||
m_date = new wxStaticText(this, -1, date, wxPoint(10, 100));
|
|
||||||
m_calendar = new wxCalendarCtrl(this, Calendar_CalCtrl,
|
|
||||||
wxDefaultDateTime,
|
|
||||||
wxPoint(200, 20),
|
|
||||||
wxDefaultSize,
|
|
||||||
wxCAL_MONDAY_FIRST |
|
|
||||||
wxCAL_SHOW_HOLIDAYS |
|
|
||||||
wxRAISED_BORDER);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MyPanel::OnCalendar(wxCalendarEvent& event)
|
void MyPanel::OnCalendar(wxCalendarEvent& event)
|
||||||
|
@@ -732,6 +732,59 @@ static void TestSocketServer()
|
|||||||
{
|
{
|
||||||
puts("ERROR: failed to bind");
|
puts("ERROR: failed to bind");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for ( ;; )
|
||||||
|
{
|
||||||
|
puts("Server: waiting for connection...");
|
||||||
|
|
||||||
|
wxSocketBase *socket = server->Accept();
|
||||||
|
if ( !socket )
|
||||||
|
{
|
||||||
|
puts("ERROR: wxSocketServer::Accept() failed.");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
puts("Server: got a client.");
|
||||||
|
|
||||||
|
wxString s;
|
||||||
|
char ch = '\0';
|
||||||
|
for ( ;; )
|
||||||
|
{
|
||||||
|
if ( socket->Read(&ch, sizeof(ch)).Error() )
|
||||||
|
{
|
||||||
|
puts("ERROR: in wxSocket::Read.");
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( ch == '\r' )
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if ( ch == '\n' )
|
||||||
|
break;
|
||||||
|
|
||||||
|
s += ch;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( ch != '\n' )
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
printf("Server: got '%s'.\n", s.c_str());
|
||||||
|
if ( s == _T("bye") )
|
||||||
|
{
|
||||||
|
delete socket;
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
socket->Write(s.MakeUpper().c_str(), s.length());
|
||||||
|
socket->Write("\r\n", 2);
|
||||||
|
printf("Server: wrote '%s'.\n", s.c_str());
|
||||||
|
|
||||||
|
delete socket;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void TestSocketClient()
|
static void TestSocketClient()
|
||||||
@@ -2553,12 +2606,13 @@ int main(int argc, char **argv)
|
|||||||
#endif // TEST_MIME
|
#endif // TEST_MIME
|
||||||
|
|
||||||
#ifdef TEST_SOCKETS
|
#ifdef TEST_SOCKETS
|
||||||
|
if ( 1 )
|
||||||
|
TestSocketServer();
|
||||||
if ( 0 )
|
if ( 0 )
|
||||||
{
|
{
|
||||||
TestSocketServer();
|
|
||||||
TestSocketClient();
|
TestSocketClient();
|
||||||
}
|
|
||||||
TestProtocolFtp();
|
TestProtocolFtp();
|
||||||
|
}
|
||||||
#endif // TEST_SOCKETS
|
#endif // TEST_SOCKETS
|
||||||
|
|
||||||
#ifdef TEST_TIMER
|
#ifdef TEST_TIMER
|
||||||
|
@@ -543,7 +543,7 @@ void MyFrame::OnTestURL(wxCommandEvent& WXUNUSED(event))
|
|||||||
m_text->AppendText(_("\n=== URL test begins ===\n"));
|
m_text->AppendText(_("\n=== URL test begins ===\n"));
|
||||||
wxString urlname = wxGetTextFromUser(_("Enter an URL to get"),
|
wxString urlname = wxGetTextFromUser(_("Enter an URL to get"),
|
||||||
_("URL:"),
|
_("URL:"),
|
||||||
_("http://localhost"));
|
_T("http://localhost"));
|
||||||
|
|
||||||
// Parse the URL
|
// Parse the URL
|
||||||
wxURL url(urlname);
|
wxURL url(urlname);
|
||||||
|
Reference in New Issue
Block a user