`

【android】与pc机进行UDP通信

阅读更多
这里pc作为server接受小心并显示出来。
而android的作为客户端发送消息。

首先:服务端没有什么好说的。
直接上代码:
public class Server {

	/**
	 * @param args
	 * @throws IOException 
	 */
	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		DatagramSocket ds = new DatagramSocket(10000);
		while(true){
			byte [] b = new byte[1024];
			DatagramPacket dp = new DatagramPacket(b,b.length);
			ds.receive(dp);
			System.out.println("prot: "+dp.getPort());
			System.out.println("data: "+new String(dp.getData(),0,dp.getLength(),"utf-8"));
		}
	}

}


这里重点说android的客户端:
一说到网络技术别忘记在manifest.xml设定网络访问权限
<uses-permission android:name="android.permission.INTERNET" />  


其他的也不多说直接上代码吧
public class AndroidUdpActivity extends Activity {
    DatagramSocket ds = null;
    DatagramPacket dp = null;
    Button b = null;
    EditText et = null;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        b = (Button) this.findViewById(R.id.button1);
        et = (EditText) this.findViewById(R.id.editText1);

        try {
			ds = new DatagramSocket(54999);
		} catch (SocketException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
		b.setOnClickListener(new OnClickListener() {
			// TODO Auto-generated method stub
			@Override
			public void onClick(View v) {     
//				String s = "welcome to c....";
				String s = et.getText().toString();
				
				byte [] buf = s.getBytes();
				int length = buf.length;
				
				try {
					dp = new DatagramPacket(buf,length,InetAddress.getByName("10.0.2.2"),10000);
				} catch (UnknownHostException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}

				try {
					System.out.println("port:" + ds.getLocalPort());
					ds.send(dp);
					et.setText("");
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		});
		
		
    }
	@Override
	protected void onStop() {
		// TODO Auto-generated method stub
		ds.close();
		super.onStop();
	}
}


在layout/main.xml中就一个edittext和button。
这里重点就是虚拟机所在pc机的IP为10.0.2.2.
分享到:
评论

相关推荐

    pc机与android udp通信源代码

    供android初学者学习熟悉udp通信,pc机端用vc编写,已经测试通过。

    android udp通信 简单例程

    压缩包中的两个文件"VC代码:udp通信:PC机成功发送接收android端信息.rar"和"AndroidUdp1.3成功发送接收PC端数据.rar"分别包含了PC端和Android端的UDP通信示例代码。PC端通常使用C++或Java实现,而Android端则是...

    android与Pc实时通信

    1. 蓝牙/USB通信:除了网络通信,Android与PC也可以通过蓝牙或USB接口进行数据交换,适用于本地设备间的通信需求。 2. 游戏同步:游戏中的实时对战、多人协作往往需要Android与PC之间的快速数据同步。 3. 远程控制...

    Android Socket编程实例(与PC通信,不同手机中间通信)

    在Android开发中,Socket编程是实现设备间网络通信的关键技术,尤其在构建移动应用与桌面应用(如PC)交互的场景下。本实例主要讲解如何使用Android Socket进行客户端与服务器端以及不同Android设备间的通信。 首先...

    AndroidUDP网络传输聊天程序

    【Android UDP网络传输聊天程序】是一个使用用户数据报协议(UDP)进行通信的项目,它由两个部分组成:一个在个人计算机(PC)上运行的服务端,由Java编写,以及一个在Android智能手机上运行的客户端。这个程序展示...

    android手机与PC视频互通源码

    要实现手机与PC间的视频通信,必须选择合适的网络通信协议,如TCP/IP、UDP、WebSocket或WebRTC等。WebRTC是一种实时通信技术,特别适合于低延迟的视频通话。源码中可能包含了处理这些协议的类和接口。 4. **数据...

    安卓真机上UDP程序收不到PC机数据包的解决方法

    解决这个问题的第一步是确保PC机上的服务程序能够正确解析出数据包中的IP地址和端口号。这通常需要一个服务器程序来监听并处理这些数据包。文中提到,作者提供了一个PC端的服务程序,用于接收和解析UDP数据包。需要...

    Android Socket UDP通讯:手机对手机or手机对PC,点对点,or广播通讯,包含发送端,接收端-测试通过运用项目中

    本教程将详细讲解如何利用Java在Android中实现UDP通信,包括手机对手机、手机对PC以及点对点和广播通讯。 1. **UDP基础知识** UDP是一种无连接的传输层协议,不保证数据包的顺序、可靠性和完整性,但其速度较快,...

    Android例子源码简单实现手机与电脑的UDP通讯

    本项目是一个测试安卓和电脑UDP通讯...然后在安卓源码里面替换电脑IP,第二件事是打开项目里自带的exe点击开启端口监听,这样电脑和安卓客户端就可以使用UDP协议进行互发消息通讯了,本项目默认编译版本4.2.2.编码GBK。

    Android与PC Socket通讯

    通过上述案例,我们可以看到Android设备与PC机之间通过Socket进行通信的基本流程。这种通信方式不仅适用于简单的文本信息传递,还可以扩展到更复杂的数据交互场景。开发者可以根据实际需求调整和优化通信逻辑,实现...

    Android通过Socket(TCP/IP)与PC通讯

    通过以上分析,我们可以看出在Android上实现Socket通信与PC进行TCP/IP交互涉及到了网络编程、TCP/IP协议、异常处理等多个方面,理解并掌握这些知识点对于开发跨平台的通信应用至关重要。在实际开发过程中,需要结合...

    android手机与电脑视频通信

    在IT行业中,尤其是在移动通信和多媒体技术领域,"Android手机与电脑视频通信"是一个重要的应用场景。这个场景涉及到多个关键技术点,包括设备间的网络连接、实时流媒体处理、跨平台通信以及可能的编码与解码技术。...

    Android应用源码安卓与PC的Socket通信项目java版

    在IT行业中,Socket通信是一种广泛应用于网络编程的技术,它允许两个设备(如Android手机和PC)之间进行双向数据传输。本项目"Android应用源码安卓与PC的Socket通信项目java版"聚焦于如何使用Java在Android设备上...

    Android PC机摄像头摄像数据在Android手机上同步显示的源.rar

    标题中的“Android PC机摄像头摄像数据在Android手机上同步显示的源”暗示了一个跨平台的实时视频流项目,其中涉及到Android设备(手机)接收并显示来自PC机的摄像头数据。这个项目的核心是实现两个设备之间的实时...

    Android源码——PC机摄像头摄像数据在Android手机上同步显示的源.zip

    在本项目中,我们探讨的是如何实现在Android设备上实时同步显示来自PC机摄像头的视频流。这个技术在远程监控、视频会议等场景中有广泛的应用。以下是对该项目中涉及的关键知识点的详细说明: 1. **Android开发环境*...

    基于Android平台的无线局域网通信APP设计与实现.pdf

    "基于Android平台的无线局域网通信APP设计与实现" 本文主要介绍基于Android平台的无线局域网通信APP的设计与实现。该APP使用基于TCP/IP或UDP/IP协议的socket编程思想,实现手机客户终端通过WiFi无线网络与其他手机...

    基于UDP的手机控制PC 的PC端程序

    在工作过程中,利用Android手机的传感器采集数据信息,用作输入设备,通过无线局域网(Wi-Fi)与PC建立Socket通信,将套接字信息通过Wi-Fi发送到PC端应用软件;PC端程序监控套接字状态,接收并响应操作映射,实现...

    Android socket即时通信

    Android Socket通信是Android应用开发中的一个重要部分,它允许应用程序通过网络与其他设备进行数据传输,实现客户端与服务器之间的实时通信。在这个场景中,"Android socket即时通信"涉及到在Android设备上创建...

    Android程序研发源码Android Socket编程源码(与PC通讯).zip

    在Android开发中,Socket编程是一种常见且重要的技术,它允许Android设备通过网络与其他设备(如PC)进行双向通信。这份源码着重展示了如何在Android应用中实现Socket编程以实现与PC之间的通讯。以下是对相关知识点...

    安卓Android源码——PC机摄像头摄像数据在手机上同步显示的源.zip

    该压缩包文件主要涉及到的是如何将PC机的摄像头数据实时同步到Android手机上进行显示的技术实现。这个项目可能是一个跨平台的实时视频流传输应用,它利用了Android系统的开放性以及网络通信技术来达成目标。下面我们...

Global site tag (gtag.js) - Google Analytics