本文实例讲述了python服务器与android客户端socket通信的方法。分享给大家供大家参考。具体实现方法如下:
首先,服务器端使用python完成,下面为python代码:
#server.py import socket def getipaddrs(hostname):#只是为了显示IP,仅仅测试一下 result = socket.getaddrinfo(hostname, None, 0, socket.SOCK_STREAM) return [x[4][0] for x in result] host = ''#为空代表为本地host hostname = socket.gethostname() hostip = getipaddrs(hostname) print('host ip', hostip)#应该显示为:127.0.1.1 port = 9999 # Arbitrary non-privileged port s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.bind((host, port)) s.listen(4) while True: conn, addr = s.accept() print('Connected by', addr) data = conn.recv(1024) if not data: break conn.sendall(data)#把接收到数据原封不动的发送回去 print('Received', repr(data)) conn.close()
下面是Android代码:
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.Socket; import java.net.UnknownHostException; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.util.Log; public class TcpClient extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); runTcpClient(); finish(); } private static final int TCP_SERVER_PORT = 9999;//should be same to the server port private void runTcpClient() { try { Socket s = new Socket("**.**.intel.com", TCP_SERVER_PORT);//注意host改成你服务器的hostname或IP地址 BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream())); BufferedWriter out = new BufferedWriter(new OutputStreamWriter(s.getOutputStream())); //send output msg String outMsg = "TCP connecting to " + TCP_SERVER_PORT + System.getProperty("line.separator"); out.write(outMsg);//发送数据 out.flush(); Log.i("TcpClient", "sent: " + outMsg); //accept server response String inMsg = in.readLine() + System.getProperty("line.separator");//得到服务器返回的数据 Log.i("TcpClient", "received: " + inMsg); //close connection s.close(); } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } //replace runTcpClient() at onCreate with this method if you want to run tcp client as a service private void runTcpClientAsService() { Intent lIntent = new Intent(this.getApplicationContext(), TcpClientService.class); this.startService(lIntent); } }
希望本文所述对大家的Python程序设计有所帮助。
本文向大家介绍Python socket网络编程TCP/IP服务器与客户端通信,包括了Python socket网络编程TCP/IP服务器与客户端通信的使用技巧和注意事项,需要的朋友参考一下 Python socket网络编程 初学 python,前段时间买了两本书《python 编程从入门到实践》《Python 核心编程第三版》,第一本书主要讲的是一些基本语法和一些基本的使用方法,而第二本则深入
本文向大家介绍Java--Socket通信(客户端服务端双向),包括了Java--Socket通信(客户端服务端双向)的使用技巧和注意事项,需要的朋友参考一下 新建两个工程,一个客户端,一个服务端,先启动服务端再启动客户端 两个工程的读写操作线程类基本上完全相同 服务端: 客户端: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
本文向大家介绍Go语言基于Socket编写服务器端与客户端通信的实例,包括了Go语言基于Socket编写服务器端与客户端通信的实例的使用技巧和注意事项,需要的朋友参考一下 在golang中,网络协议已经被封装的非常完好了,想要写一个Socket的Server,我们并不用像其他语言那样需要为socket、bind、listen、receive等一系列操作头疼,只要使用Golang中自带的net包即可
现在我的ServerSocket是这样的 一切正常,客户端连接,发送一些数据,服务器读取它,但我的问题是如何从我的服务器发送消息到所有的客户端?我目前保存客户端上的ArrayList,所以我可以只是循环,ArrayList打开一个作家和刷新它,但我想发送的数据,我得到我的ClientConnection类 我应该如何处理这个代码?在服务器类上完成的所有操作?或
我试图了解服务器-客户端网络如何为实时多人游戏工作。 假设我正在构建一个实时多人游戏,比如FPS。 如果玩家A向玩家B开枪,后端< code >服务器需要告诉玩家B他们被击中了。 我知道如何让玩家 A 告诉后端服务器他开了一枪,只是向服务器发送请求,但是如何让后端告诉玩家 他们被枪杀了? 玩家B是否必须每0.1秒检查一次后端以查看是否发生了什么事情,或者是否有更有效的方法?
本文向大家介绍java UDP通信客户端与服务器端实例分析,包括了java UDP通信客户端与服务器端实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了java UDP通信客户端与服务器端。分享给大家供大家参考,具体如下: 最初Udp是以字节为单位进行传输的,所以有很大的限制 服务器端: 用户端: 注:由于必须以字节为单位进行传输,Udp的传输用了一个容器类的东西,用来接收字节 先建