51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4619|回复: 1
打印 上一主题 下一主题

[讨论] 问几个CSocket类实现TCP UDP编程的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-5-7 13:54:13 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
现在在学习CSocket类实现TCP UDP编程
但是没有学习过mfc,学习起来很吃力,有几个问题问一下大家;
1)在CServerAppDlg的头文件中声明两个变量PistenSocket和PReceiveSocket(从这几天的学习中发现有的对字母大小写又要求,这是不是也要靠平时积累那些要大写哪些小写呢)
  问题是App...和dlg什么意思,在网上查不到,(是不是太简单咯网上都没有)

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

   问题是6666和SOCK_STREAM什么意思呢
还有几个但是希望哪位可以介绍一本针对性的书,我可以自己解决啊,热心的朋友可以加我qq(371381052最好写明mfc)教教我.
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-6-5 19:23:55 | 只看该作者
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");
                }
        }
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-10 22:50 , Processed in 0.070639 second(s), 30 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表