php写的服务端和java写的android客户端通过socket通信
php服务端的代码要在类似apache的服务器中运行,代码如下:
<?php
//确保在连接客户端时不会超时
set_time_limit(0);
//设置IP和端口号
$address='127.0.0.1';
$port=3333; //调试的时候,可以多换端口来测试程序!
//创建一个SOCKET
if(($sock=socket_create(AF_INET,SOCK_STREAM,SOL_TCP))<0)
{
echo "socket_create() 失败的原因是:".socket_strerror($sock)."<br>";
}
//绑定到socket端口
if(($ret=socket_bind($sock,$address,$port))<0)
{
echo "socket_bind() 失败的原因是:".socket_strerror($ret)."<br>";
}
//开始监听
if(($ret=socket_listen($sock,4))<0)
{
echo "socket_listen() 失败的原因是:".socket_strerror($ret)."<br>";
}
do {
if (($msgsock = socket_accept($sock)) < 0)
{
echo "socket_accept() failed: reason: " . socket_strerror($msgsock) . "/n";
echo "/nThe Server is Stop……/n";
break;
}
//发到客户端
$msg ="<font color=red>Welcome To Server!</font><br>";
socket_write($msgsock, $msg, strlen($msg));
socket_close($msgsock);
echo "/nThe Server is running……/n";
printf("/nThe Server is running……/n");
} while (true);
socket_close($sock);
?>
android客户端在同一台机器上的模拟器中运行,代码如下:
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.net.UnknownHostException;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
public class SocketTest extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
try {
System.out.println("准备连接");
Socket socket = new Socket("10.0.2.2", 3333);
System.out.println("连接上了");
Intent intent = new Intent();
intent.setClass(SocketTest.this, ConnectActivity.class);
SocketTest.this.startActivity(intent);
InputStream inputStream = socket.getInputStream();
byte buffer[] = new byte[1024*4];
int temp = 0;
String res = null;
//从inputstream中读取客户端所发送的数据
System.out.println("接收到服务器的信息是:");
while ((temp = inputStream.read(buffer)) != -1){
System.out.println(new String(buffer, 0, temp));
res += new String(buffer, 0, temp);
}
System.out.println("已经结束接收信息……");
socket.close();
inputStream.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
注:服务端的程序要先运行起来,然后运行客户端。这只是一个简单的socket通信。
分享到:
相关推荐
总结来说,Java服务端与Android客户端之间的通信是通过Socket实现的,涉及的主要步骤包括:服务端创建监听Socket、客户端发起连接请求、通过输入/输出流进行数据交换。在实际应用中,还需要考虑并发处理、错误恢复、...
本项目“windows服务端+多客户端socket tcp通信”是基于Windows平台,利用Visual Studio 2013开发的一个示例,旨在实现服务端与多个客户端之间的实时通讯,类似于QQ群聊天的功能,同时还支持消息的群发和文件的二...
本教程将深入探讨如何使用C#编程语言以及SuperSocket库来构建一个高效、稳定的服务器端和客户端通信模型。SuperSocket是一个轻量级且易于使用的.NET Socket服务端开发框架,它为开发者提供了构建自定义网络应用的...
压缩包中二个项目文件夹 1.MySocketServer(C#服务端及客户端) 2.MyTestsocket(android客户端) socket通信demo并未实现过多功能,主要演示通信,更多功能自己开发,哈哈!
2. **Android客户端通信**:Android设备作为客户端,需要连接到服务端进行数据交换。Android SDK提供了HttpClient和OkHttp等库用于网络通信,但为了实现高效、低延迟的连接,Netty可以作为一个更好的选择,尤其是当...
这将返回一个新的Socket对象,用于与客户端通信。 3. **数据接收**:与客户端类似,通过新Socket的`InputStream`接收客户端发送的数据。 4. **数据响应**:同样通过新Socket的`OutputStream`向客户端发送数据。 5...
Android客户端与服务端的通信主要依赖HTTP协议。HTTP是互联网上应用最为广泛的一种网络协议,支持GET和POST两种主要方法。GET请求常用于获取资源,参数通常包含在URL中;POST请求则用于提交数据,如表单填写的内容,...
包括服务端源码和客户端源码,实现SOCKET数据传输
一旦有客户端连接,`accept()`方法会返回一个新的Socket对象,用于与该客户端通信。服务端代码可能如下所示: ```java ServerSocket serverSocket = new ServerSocket(服务端口); Socket clientSocket = ...
本实例将探讨如何使用SuperSocket来实现服务端与客户端之间的通信。 首先,我们从服务端开始。SuperSocket服务端的核心是`ServerBootstrap`类,它负责启动服务器并管理所有客户端连接。开发者需要继承`AppServer`...
然后,服务器可以创建一个Socket对象与客户端进行通信,实现逻辑类似于客户端。 五、实战应用 在实际开发中,Android客户端可能需要通过Socket发送JSON、XML等格式的数据。此外,还可以使用线程或异步任务处理...
在IT行业中,网络通信是构建分布式系统和移动应用的关键部分,尤其是当涉及到服务端与Android客户端的交互时。...在实际项目中,开发者需要根据需求选择合适的技术栈,并遵循最佳实践来实现可靠的服务端与客户端通信。
在这个示例中,`CMyThread`是一个自定义的线程类,它继承自MFC的CWinThread类,并在Run()方法中处理与客户端的通信。 **数据发送与接收:** 使用CSocket类的成员函数Send()和Receive()来发送和接收数据。Send()用于...
总结起来,这个项目展示了如何在C#的WinForm环境中使用Socket进行网络通信,包括服务端的监听、客户端的连接、消息发送和异常处理,特别是断线重连的机制,这对于开发稳定可靠的网络应用程序至关重要。通过实践和...
标题中的“Netty实现Java服务端和C#客户端联通”是指使用Netty作为Java服务器框架,与C#客户端(使用DotNetty库)进行通信的一种技术实现。这涉及到跨平台的网络通信,以及两个不同编程语言间的交互。 Netty是Java...
"Android 客户端与 PC 服务器实现 Socket 通信" Android 客户端与 PC 服务器实现 Socket 通信是基于 TCP 协议的网络虚拟链路的建立和维护。该实现过程分为两部分:PC 服务器端和 Android 客户端。 PC 服务器端使用...
Socket服务端、客户端通信是网络编程中的基础概念,主要涉及如何在不同的计算机之间交换数据。在C#中,Socket提供了一种低级别的、基于TCP/IP协议的网络通信接口。本项目"Socket服务端、客户端通信源码"包含了实现这...
以上就是Android客户端通过Socket与服务器通信的基本流程和关键知识点。在实际应用中,还需要考虑网络状况、安全性、数据编码等问题,以实现更稳定、高效和安全的通信。在提供的链接中,有更详细的步骤和代码示例,...
本篇文章将深入探讨C#中基于TCP的Socket多线程通信,包括服务端和客户端的实现。 TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。在C#中,我们可以使用System.Net....
本示例将详细讲解如何在Android上构建一个蓝牙通信系统,包括客户端和服务端的实现。 首先,理解蓝牙通信的基本概念是必要的。蓝牙是一种短距离无线通信技术,允许电子设备之间交换数据或建立连接,例如手机、电脑...