实训第四天(客户端服务器通信)

实训第四天(客户端服务器通信)

本机表示形式的四种形式

127.0.0.1
192.168.1.112
localhost
电脑自身名字

客户端和服务器的通信

TCP通信

//客户端
public class testclient {



       public static void main(String[] args) throws UnknownHostException, 
IOException {

             Socket <u>c</u> =new Socket("localhost",8888);

             

                    OutputStream out = c.getOutputStream();

                    InputStream in =c.getInputStream();

                    out.write("我是客户端".getBytes());

                    //将流置于流末尾

                    c.shutdownOutput();

                    out.flush();

                    byte b [] = new byte[1024];

                    int sum;

                    String str1 = "";

                    while((sum=in.read(b))!=-1) {

                           String str = new String (b,0,sum);

                           str1+=str;

                    }

                    System.out.println("服务器说"+str1);

             

       }



}

//服务器
public class testserver {



       public static void main(String[] args) throws IOException {

             //创建服务端对象,指定端口

             ServerSocket <u>s</u> = new ServerSocket(8888);

             while(true) {

                    System.out.println("服务器已启动……");

                    //监听端口

                    Socket c =s.accept();

                    //获取客户端输入流

                    InputStream in =c.getInputStream();

                    //获得客户端输出流

                    OutputStream out =c.getOutputStream();

                    //获取输入信息

                    byte b[] =new byte[1024];

                    int sum;

                    String str1 = "";

                    while((sum=in.read(b))!=-1) {

                           String str = new String (b,0,sum);

                           str1+=str;

                    }

                    System.out.println("客户端说"+str1);

                    out.write("我是服务器".getBytes());

                    out.flush();

                    out.close();

                    

             }

       }



}


UDP通信

//客户端
//package udpclient;
import java.io.*; 
import java.net.*; 
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
//package udpclient;客户端
import java.io.*; 
import java.net.*; 
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.ServerSocket;

public class udpClient {
	public static void main(String args[]) throws Exception 
    { 
  
      BufferedReader inFromUser =  new BufferedReader(new InputStreamReader(System.in)); 
  
      DatagramSocket ClientSocket = new DatagramSocket(); 
  
      InetAddress IPAddress = InetAddress.getByName("localhost"); 
      
      byte[ ] sendData = new byte[100]; 
      byte[ ] receiveData = new byte[100]; 
      System.out.println("please input some words:");
      while(true){
      String sentence = inFromUser.readLine(); 
      sendData = sentence.getBytes();         
      DatagramPacket sendPacket =  new DatagramPacket(sendData, sentence.length(), IPAddress, 9876);//创建一个用于发送数据报的DatagramPacket类对象。
 
    	  
    	      ClientSocket.send(sendPacket); 
    	  
    	      DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length); 
    	  
    	      ClientSocket.receive(receivePacket); 
    	  
    	      String modifiedSentence =  new String(receivePacket.getData()); 
    	  
    	      System.out.println("FROM Server:" + modifiedSentence); 
    	      
    	} 
      	//ClientSocket.close(); 
    }
}


//服务器
import java.io.*; 
import java.net.*; 

public class udpserver {
	public static void main(String args[]) throws Exception 
    { 
  
      DatagramSocket ServerSocket = new DatagramSocket(9876); //创建用于数据报通信的socket对象,并且把它绑定到本地主机指定的端口port。 
  
      byte[] receiveData = new byte[100]; 
      byte[] sendData  = new byte[100]; 
      System.out.println("waiting......");
      while(true) 
        { 
  
          DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length); //创建一个用于接收数据报的DatagramPacket类对象。

          ServerSocket.receive(receivePacket); 
          String sentence = new String(receivePacket.getData(),0,receivePacket.getLength()); 
          
          InetAddress IPAddress = receivePacket.getAddress();   
          int port = receivePacket.getPort(); //客户端端口 
          //System.out.println("FROM Client:" + sentence+" ip:"+IPAddress.toString()+",port:"+port); 
           String capitalizedSentence = sentence.toUpperCase(); 

          sendData = capitalizedSentence.getBytes(); 
  
          DatagramPacket sendPacket = new DatagramPacket(sendData, capitalizedSentence.length(), IPAddress, port); //创建一个用于发送数据报的DatagramPacket类对象。
  
          ServerSocket.send(sendPacket); 
        } 
      //ServerSocket.close();
    } 

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C MFC第四章设计实训课件主要介绍了关于C MFC编程的实际应用技巧和项目开发方法。课件内容包括C MFC开发环境的搭建、基本控件的使用、菜单和对话框的设计、事件处理和消息传递等方面。 首先,课件介绍了C MFC开发环境的搭建。包括Visual Studio的安装和配置,创建MFC应用程序项目等。学生通过跟随课件的指导,可以快速搭建好自己的开发环境,为后续的学习打下基础。 接着,课件详细介绍了C MFC常用的基本控件的使用方法。例如,按钮、编辑框、列表框等控件的创建和使用。通过讲解控件的属性设置和事件处理,学生可以掌握如何在程序使用这些控件来实现各种功能。 此外,课件还介绍了菜单和对话框的设计方法。学生可以学习如何创建菜单栏、工具栏和状态栏,并通过添加菜单项和工具栏按钮实现各种功能。同时,课件还介绍了对话框的创建和使用方法,包括布局设计和对话框控件的操作。 最后,课件对事件处理和消息传递进行了深入讲解。学生可以学习到如何处理按钮点击事件、菜单选择事件等,以及如何通过消息传递机制实现不同控件之间通信。 总的来说,C MFC第四章设计实训课件提供了很好的学习资源和实践机会,帮助学生掌握C MFC编程的基本技巧和项目开发方法。通过实际练习和实验,学生可以巩固所学知识,并且在实际项目运用所掌握的技能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值