51Testing软件测试论坛

标题: 问几个CSocket类实现TCP UDP编程的问题 [打印本页]

作者: liyang-1219    时间: 2007-5-7 13:54
标题: 问几个CSocket类实现TCP UDP编程的问题
现在在学习CSocket类实现TCP UDP编程
但是没有学习过mfc,学习起来很吃力,有几个问题问一下大家;
1)在CServerAppDlg的头文件中声明两个变量PistenSocket和PReceiveSocket(从这几天的学习中发现有的对字母大小写又要求,这是不是也要靠平时积累那些要大写哪些小写呢)
  问题是App...和dlg什么意思,在网上查不到,(是不是太简单咯网上都没有)

2)pListenSocket->Creat(6666.SOCK_STREAM);(初始化用于tcp的CSocket对象)

   问题是6666和SOCK_STREAM什么意思呢
还有几个但是希望哪位可以介绍一本针对性的书,我可以自己解决啊,热心的朋友可以加我qq(371381052最好写明mfc)教教我.
作者: wzb521    时间: 2007-6-5 19:23
app   application
dlg   dialog
socket 一般我们研究的都是顶层的了,底层是编程语言写好的。
tcp实现单点连接
udp多点连接

最简单的例子:java简单写的
server端
try
                {
                        ServerSocket _server=new ServerSocket(_port);
                        System.out.println("Server is start");
                        while(true)
                        {
                                Socket _service=_server.accept();
                                System.out.println("come from:"+_service.getInetAddress()+_service.getPort());
                                BufferedReader reader=new BufferedReader(new InputStreamReader(_service.getInputStream()));
                                System.out.println(reader.readLine());
                               
                                OutputStream _out=_service.getOutputStream();
                                PrintStream _pout=new PrintStream(_out);
                                //PrintWriter _pout=new PrintWriter(_out);
                                _pout.print(new java.util.Date());
                                _out.flush();
                                _out.close();
                                _service.close();
                               
                        }
                       
                }
                catch(BindException e)
                {
                        System.err.println ("Service already running on port " );


                }
                catch(IOException ex)
                {
                        System.err.println ("I/O error " );
                        System.out.println(ex.toString());
                        System.out.println(ex.getMessage());

                }

客户端


        public static void main(String[] args)
        {
                try
                {
                        String _hostname="192.168.13.111";
                        Socket _client=new Socket(_hostname,_port);
                        System.out.println("Connection Established");
                        _client.setSoTimeout(2000);                       
                        OutputStream _out=_client.getOutputStream();
                        PrintStream _pout=new PrintStream(_out);
                        _pout.print("test\n");
                        _out.flush();
               
                        BufferedReader reader=new BufferedReader(new InputStreamReader(_client.getInputStream()));
                        System.out.println(reader.readLine());
                        System.out.println("test finished");
                       
                        _out.close();
                        _client.close();
                }
                catch(BindException e)
                {
                        System.out.println("cann't connect the server");
                }
                catch(IOException ex)
                {
                        System.out.println("IO Error");
                }
        }




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2