用socket写一个简单的聊天程序

Posted hsiyi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用socket写一个简单的聊天程序相关的知识,希望对你有一定的参考价值。

服务端代码:

# 创建socket对象:socket.socket()——>绑定IP地址和端口:bind——>监听:listen——>
# 得到请求:accept——>接收请求:recv——>发送信息:send——>关闭close

 

技术分享图片
import socket
server = socket.socket()  # 创建一个socket对象
ip_port = (192.168.43.58, 8001)  # 给出IP地址和端口号
server.bind(ip_port)   # 绑定IP和端口
server.listen(5)  # 监听
conn, address = server.accept()  # 被动接收请求
while 1:
    content = input(服务端:)
    conn.send(content.encode(utf-8))  # 发送信息
    from_client_msg = conn.recv(1024)  # 接收来自客户端的信息
    from_client_msg = from_client_msg.decode(utf-8)  # 解码来自客户端的信息
    print(来自客户端的信息:, from_client_msg)
    if from_client_msg == bye:  # 当客户端的信息为bye时结束聊天
         break
conn.close()  # 关闭通道
server.close()  # 关闭服务端
    
View Code

客户端代码:

# 创建socket对象:socket.socket()——>连接服务器:connect——>获取消息:recv——>发送消息:send——>关闭close
技术分享图片
import socket
client = socket.socket()  # 创建socket对象
server_ip_port = (192.168.43.58, 8001)  # 给出服务端的IP和端口
client.connect(server_ip_port)  # 连接服务端
while 1:
    from_server_msg = client.recv(1024)  # 接收来自服务端的信息
    from_server_msg = from_sever_msg.decode(utf-8)  # 解码来自服务端的信息
    print(来自服务端的信息:, from_server_msg)
    content = input(客户端:)
    client.send(content.encode(utd-8))  # 发送信息到服务端
    if from_server_msg == bye:
        break
client.close()  # 关闭客户端
View Code

 # 客户端里面的两处输入错误: from_sever_msg改为:from_server_msg, utd-8改为:utf-8.



以上是关于用socket写一个简单的聊天程序的主要内容,如果未能解决你的问题,请参考以下文章

Python Socket 编程——聊天室演示样例程序

你也可以写个聊天程序 C# Socket学习

利用java的Socket实现一个简单hello/hi聊天程序

node实现一个简单的聊天室(认识一下socket)

用c++完成一个hello/hi的简单的网络聊天程序

Socket聊天程序——客户端