菜鸟学堂 -【Python Socket 】

本文提供了一个使用 Python 的 socket 库进行网络通信的示例,包括服务器和客户端代码。服务器监听特定端口并根据接收到的数据返回不同的响应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python 3.2.2(default, Sep  4 2011, 09:51:08) [MSC v.1500 32 bit (Intel)] on win
32

Type "help", "copyright", "credits" or "license" for more information.


一:官方文档:

http://docs.python.org/py3k/library/socket.html

socket — Low-level networking interface


二:example


Server start:

F:\workspace_android\test\com\nagat\socket>Server.py
listen:...............
host: localhost ,post: 12345
wait.................
Connected by ('127.0.0.1', 50710)
其他数据:fs
Connected by ('127.0.0.1', 50711)
数据:hi

Client:

F:\workspace_android\test\com\nagat\socket>Client.py fs
from server to client: 其他数据:fs

F:\workspace_android\test\com\nagat\socket>Client.py hi
from server to client: 你好,世界

 

三:example code

server:

import socket

HOST = 'localhost'                 # Symbolic name meaning all available interfaces
PORT = 12345              # Arbitrary non-privileged port
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)
print("listen:............... ")
print("host:",HOST,",post:",PORT)
print("wait.................")
while 1:
    conn, addr = s.accept()
    print ('Connected by', addr)
    while 1:
        data = conn.recv(1024)
#        print(repr(data))
#        print(str(data,"utf-8"))
        if not data: break
        
        if  data == bytes("hi","utf-8"):
            print("数据:"+str(data,"utf-8"))
            conn.sendall(bytes("你好,世界","utf-8"))
        else :
            print("其他数据:"+str(data,"utf-8"))
            conn.sendall(bytes("其他数据:"+str(data,"utf-8"),"utf-8"))
    conn.close()


 

Client:

import socket,sys
#print(sys.argv)
#print(sys.argv[1])

HOST = 'localhost'    # The remote host
PORT = 12345              # The same port as used by the server

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

s.connect((HOST, PORT))

s.sendall(bytes(sys.argv[1],"utf-8"))

data = s.recv(1024)

s.close()

print('from server to client:', str(data,"utf-8"))


四:除了字符串还能发送别的不?

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值